0

我创建了一个看起来像瓷砖的按钮模板:

在此处输入图像描述

当用户单击磁贴时,它会像这样展开:

在此处输入图像描述

问题是,当用户单击磁贴内的按钮时,会触发磁贴按钮的单击处理程序以及模板内按钮的处理程序。

一个超级简单的例子是:

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!");
}

如果用户点击了“内部”按钮,有什么方法可以不处理“外部”点击事件?

4

1 回答 1

0

使用 HighCore 和 dev Hedgehog 留下的评论,这解决了我的问题:

private void Inner_Click(object sender, RoutedEventArgs e) {
  MessageBox.Show("Inner!");
  e.Handled = true;
}
于 2013-12-16T15:23:28.797 回答