如何确定在WPF UserControl中单击了哪个控件
本文关键字:控件 单击 何确定 WPF UserControl | 更新日期: 2023-09-27 18:10:21
我有一个WPF用户控件,其中我有一个StackPanel。对于这个面板,我以编程方式添加标签(容器是StackPanel的名称):
public void Insert(string Value)
{
Label l = new Label();
l.Content = Value;
Container.Children.Add(l);
}
现在我想提供一些公共事件SelectedIndexChange,当用户单击标签。现在我有一个问题,如何确定哪个标签被点击。有人能帮忙吗?
如果在Insert
中添加一行:
l.Click += ClickHandler;
则ClickHandler的第一个参数将是引发Click事件的控件。
。如果你的处理器是:
private void ClickHandler(object sender, RoutedEventArgs e){...};
则sender
为被点击的标签。
你也可以看看e.OriginalSource
I Guess You Can Use This Code
l.MouseClick+= MouseClickHandler;
和切换标签
的例子:
private void label1_MouseDown(object sender, MouseButtonEventArgs e)
{
if (e.LeftButton== MouseButtonState.Pressed)
{
Label l = (Label)e.Source;
switch (l.Name)
{
case "lable1":
int a = 10;
break;
}
}
}