0

我想要两个事件处理程序Panel_TapStackPanel点击)和 More_TapTextBlock点击)。TextBlock在里面StackPanel。我的xml代码:

  <StackPanel Tap="Panel_Tap" Orientation="Horizontal">
        <Image Height="75" Width="75" Source="{Binding Avatar}"/>
        <StackPanel Orientation="Vertical">
           <TextBlock Name="Nickname" Text="{Binding Nickname}"/> 
           <TextBlock Name="More" Text="{Binding More}" Tap="More_Tap"/>
           <TextBlock Name="Text" Text="{Binding Text}"/>
        </StackPanel>
  </StackPanel>     

如果我点击TextBlock先调用More_Tap然后Panel_Tap。是否可以通过点击TextBlock仅调用More_Tap事件处理程序?

4

1 回答 1

2

该事件一直在视觉树上冒泡,直到它被处理。因此e.Handled = true,在要防止事件进一步冒泡的元素的 Tab 事件中进行设置。

private void More_Tap(object sender, System.Windows.Input.GestureEventArgs e) {
  // Your code here...
  // ...

  e.Handled = true; // This line prevents this event from bubbling up
}
于 2013-05-23T07:30:56.597 回答