Xaml 单击文本块而不选择父listview项

Xaml 单击文本块而不选择父listview项,xaml,windows-store-apps,Xaml,Windows Store Apps,我正在用C和XAML开发一个windows应用商店应用程序。我正在使用列表视图显示数据集合 在列表视图中我有一个数据模板,其中包含网格和网格中的文本块。我想点击/单击文本块并执行操作,而不选择父项ListView项,因为我已经有了处理所选ListView项的事件。我不想两者重叠 提前感谢您的回复。因此,您希望在点击其中一部分时能够选择列表视图项,而不是文本块?如果是这种情况,则在TextBlock的Tapped事件中添加e.Handled=true。这将使它不会进一步路由到父级列表视图 您可以做

我正在用
C
XAML
开发一个windows应用商店应用程序。我正在使用
列表视图
显示数据集合

列表视图中
我有一个数据模板,其中包含网格和网格中的文本块。我想点击/单击文本块并执行操作,而不选择父项
ListView
项,因为我已经有了处理所选
ListView
项的事件。我不想两者重叠


提前感谢您的回复。

因此,您希望在点击其中一部分时能够选择
列表视图项
,而不是
文本块
?如果是这种情况,则在
TextBlock
Tapped
事件中添加
e.Handled=true。这将使它不会进一步路由到父级
列表视图

您可以做的另一件事(这可能是您想对ListViewItems执行任何操作的更通用的解决方案)是不使用thing
SelectionChanged
事件,而是使用
ItemClick
处理所有事情。然后,您可以推断事件的
原始源
是否确实是您的
文本块
。然后,如果不是
文本块
,则更改父
列表视图
选择编辑项

更改原始源代码的示例

public static void ItemClickEvent(object sender, ItemClickEventArgs e)
{
    if(e.OriginalSource is TextBlock)
        DoNothingOrMaybeTextBlockEvent();
    else
    {
        ListView.SelectedItem = e.ClickedItem;
    }
}
希望这有帮助


编辑:为原始源代码检查添加了一些示例代码

我使用了ItemClick for listview,而不是SelectionChanged。当我点击listview项目中的textblock时,listview也会被点击,这是我想要避免的。我只想单击文本块。检查
项ClickEventArgs
原始源
,看看它是否是您的
文本块
。是的,原始源就是文本块。我找到了一个解决方案,删除listview父项的clickevent,我发现它是不必要的。谢谢你的帮助。没问题,很高兴你找到了解决办法!