【问题标题】:Getting dictionary key from Image sender从图像发送方获取字典键
【发布时间】:2014-01-28 22:32:48
【问题描述】:

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

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

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

谢谢。

【问题讨论】:

    标签: c# wpf canvas dictionary


    【解决方案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; 
    
        // ...
    }
    

    【讨论】:

      猜你喜欢
      • 2019-07-06
      • 1970-01-01
      • 1970-01-01
      • 2017-06-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多