路由事件初級案例
阿新 • • 發佈:2019-01-11
前端:
<Grid Name="gridRoot" Background="Green"> <Grid Name="gridA" Margin="10" Background="LightBlue"> <Grid.ColumnDefinitions> <ColumnDefinition Width="*"/> <ColumnDefinition Width="*"/> </Grid.ColumnDefinitions> <Button Height="50" Width="100" Name="btn1" Content="Left" Grid.Column="0" /> <Button Height="50" Width="100" Name="btn2" Content="Right" Grid.Column="1"/> </Grid> </Grid>
後臺:
public partial class MainWindow : Window { public MainWindow() { InitializeComponent(); this.gridRoot.AddHandler(Button.ClickEvent, new RoutedEventHandler(MyHandler)); this.gridA.AddHandler(Button.ClickEvent, new RoutedEventHandler(MyHandler2)); this.gridA.AddHandler(Button.MouseEnterEvent, new RoutedEventHandler(gridA_MouseEnter)); } public void MyHandler(object a, RoutedEventArgs e) { MessageBox.Show((e.OriginalSource as FrameworkElement).Name); } public void MyHandler2(object a, RoutedEventArgs e) { if (e.OriginalSource == btn1) { MessageBox.Show("the left button is off."); e.Handled = true; } } private void gridA_MouseEnter(object sender, RoutedEventArgs e) { if (e.OriginalSource == btn2) { MessageBox.Show("btn2 mouse enter."); } else { MessageBox.Show("btn1 mouse enter."); } } }