在WPF上从发件人(Multi Type)获取名称

时间:2017-07-30 11:23:43

标签: c# wpf

是否可以为wpf上的所有标签,图像,文本块......提供事件?

Label a=new Label();
a.name="object"+counter;
counter++;
a.MouseDown += _MouseDown;
grid.Children.Add(a);

Image b=new Image();
b.name="object"+counter;
counter++;
b.MouseDown += _MouseDown;
grid.Children.Add(b);

事件可能是这样的: 而不是(对象)我们使用一种类型(图像)或(标签)

void _MouseDown(object sender, MouseButtonEventArgs e)
{
     var scrollViewer = (Object)sender;  
      **and here I could get name of it**
}

所以,让我知道是否有可能将所有这些活动都放在一个活动上

1 个答案:

答案 0 :(得分:0)

只需将其转换为具有 object属性的超类。实际上,将Object转换为Object是没用的,它们是相同的,Name没有 var scrollViewer = (FrameworkElement)sender; 属性。

{{1}}

只需查找LabelImage的MSDN文档即可找到:

  

名称
  获取或设置元素的标识名称。该名称提供了一个引用,以便代码隐藏(例如事件处理程序代码)可以在XAML处理器处理它之后构造标记元素。(继承自FrameworkElement 。)

(Bold mine)