防止传播到父元素xaml的抽头事件

Bra*_*son 5 c# events winrt-xaml windows-phone-8.1

我正在使用C#和XAML创建一个WP8.1应用程序

我有一个ListView,其中ListViewItems包含一个TextBlock.

TextBlocks有Tapped =""事件处理程序,但是我想在点击其中一个TextBlock时停止选择单元格.

设置 TappedRoutedEventArgs.Handled = true; 不会停止选择ListViewItem.

(由于层次结构,我无法遍历TextBlocks父元素以获取ListViewContainer).

最好的方法是什么?

Muh*_*lah 0

当点击文本块列表视图时,选择更改事件会在文本块点击事件之前引发(因此 1. SelectionChanged 事件比文本块点击)。这样,在文本块点击的情况下,所选项目更改事件将始终被触发。如果我们使用按钮控件(任何具有点击操作的控件),它将引发按钮点击事件,但不会引发选择更改事件。

在你的情况下,你可以实施一些黑客攻击。就像在选择更改事件中继续选择并在事件到达文本块点击事件时恢复选择。

希望这可以帮助