0
我有几个带有内部东西的Border元素,它们是在运行时生成的。我设法产生它们,但现在我想将事件与它们关联,如MouseEnter,Click等,但我不知道如何。 我设法将每个Border元素关联一个唯一的名称(Name属性),所以如果需要的话,我可以使用它们。如何在C#中为每个生成的Border元素添加事件?将事件添加到动态生成的WPF元素
我有几个带有内部东西的Border元素,它们是在运行时生成的。我设法产生它们,但现在我想将事件与它们关联,如MouseEnter,Click等,但我不知道如何。 我设法将每个Border元素关联一个唯一的名称(Name属性),所以如果需要的话,我可以使用它们。如何在C#中为每个生成的Border元素添加事件?将事件添加到动态生成的WPF元素
<Style x:Key="BorderNameStyle" TargetType="{x:Type BorderName}">
<EventSetter Event="MouseEnter" Handler="itm_MouseEnter"></EventSetter>
<EventSetter Event="MouseLeftButtonUp" Handler="itm_MouseLeftButtonUp"></EventSetter>
<EventSetter Event="PreviewMouseRightButtonUp" Handler="itm_MouseRightButtonUp"></EventSetter>
<EventSetter Event="MouseLeave" Handler="itm_MouseLeave"></EventSetter>
<EventSetter Event="MouseDoubleClick" Handler="ItemMouseDoubleClick"></EventSetter>
</Style>
通过你身后需要调用路由事件,如下面定义的边界或代码样式。
border.MouseEnter += new MouseEventHandler(border_MouseEnter);
void border_MouseEnter(object sender, MouseEventArgs e)
{
Button btn = new Button();
btn.Click += new RoutedEventHandler(btn_Click);
}
void btn_Click(object sender, RoutedEventArgs e)
{
throw new NotImplementedException();
}
使用这样
border.MouseEnter += new MouseEventHandler(border_MouseEnter);
void border_MouseEnter(object sender, MouseEventArgs e)
{
throw new NotImplementedException();
}