我创建了一个看起来像瓷砖的按钮模板:
当用户单击磁贴时,它会像这样展开:
问题是,当用户单击磁贴内的按钮时,会触发磁贴按钮的单击处理程序以及模板内按钮的处理程序。
一个超级简单的例子是:
XAML:
<Button Click="Outer_Click">
<StackPanel>
<TextBlock Text="Outer"
HorizontalAlignment="Center" />
<Button Click="Inner_Click"
Content="Inner" />
</StackPanel>
</Button>
C#:
private void Outer_Click(object sender, RoutedEventArgs e) {
MessageBox.Show("Outer!");
}
private void Inner_Click(object sender, RoutedEventArgs e) {
MessageBox.Show("Inner!");
}
如果用户点击了“内部”按钮,有什么方法可以不处理“外部”点击事件?