I have several Border elements with stuff inside that are generated at runtime. I managed to spawn them but now I want to associate events to them like MouseEnter, Click, etc., but I don't know how. I managed to associate each Border element a unique name (Name property) so I could work with them if I ever needed. How can I add events to each one of the generated Border elements, in C#?
Use like this
border.MouseEnter += new MouseEventHandler(border_MouseEnter);
void border_MouseEnter(object sender, MouseEventArgs e)
{
throw new NotImplementedException();
}
<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>
By defining styles for the Border or code behind you need to call the routed events like below.
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();
}
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.