按钮里面另一个按钮的模板

时间:2013-10-29 20:56:37

标签: c# wpf xaml templates button

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

enter image description here

当用户点击图块时,它会像这样展开:

enter image description here

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

一个非常简单的例子是:

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

如果用户点击了“内部”按钮,有没有办法不处理“外部”点击事件?

1 个答案:

答案 0 :(得分:0)

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

private void Inner_Click(object sender, RoutedEventArgs e) {
  MessageBox.Show("Inner!");
  e.Handled = true;
}