从图像发送者​​获取字典密钥

时间:2014-01-28 22:32:49

标签: c# wpf canvas dictionary

所以在WPF C#中我有一个名为dict的Dictionary(string,Image)。我还有一个Brick类,它有一个名字和其他值。字典中的字符串键通过名称变量与其各自的Brick匹配,我还有一个名为brick的列表(砖块)

我将dict [bricks [this_brick] .Name]作为子项添加到画布中,并且还向图像添加了LeftMouseButtonUp属性。当我点击图像时,我想找出我刚刚点击的图像的关键字,这样我就可以遍历我的砖块并将砖块的名称与点击的砖块的键进行比较,以便获取该数据。砖。

但是,MouseLeftButtonUp上的发件人是Image类型,我不知道如何从中获取密钥。是否有发件人的BIF和BIF会给我钥匙?我在调试时查看了发件人的属性列表,无法在任何地方看到密钥。

感谢。

1 个答案:

答案 0 :(得分:1)

访问密钥的一种方法是将其设置为Tag属性,如:

string key = bricks[this_brick].Name;
Image image = dict[key];
image.Tag = key;

通过这种方式,您可以轻松地从发件人中检索它:

private void MouseLeftButtonUp(object sender, MouseButtonEventArgs args)
{
    var image = (Image)sender;
    string key = image.Tag as string; 

    // ...
}