我正在使用C#
和开发一个 Windows 商店应用程序XAML
。我正在使用 aListView
来显示数据的集合。
在里面ListView
我有一个数据模板,它有网格和网格中的 TextBlock。我想在不选择父ListView
项的情况下点击/单击 TextBlock 并执行操作,因为我已经有事件来处理所选ListView
项目。我不希望两者重叠。
提前感谢您的任何回复。
我正在使用C#
和开发一个 Windows 商店应用程序XAML
。我正在使用 aListView
来显示数据的集合。
在里面ListView
我有一个数据模板,它有网格和网格中的 TextBlock。我想在不选择父ListView
项的情况下点击/单击 TextBlock 并执行操作,因为我已经有事件来处理所选ListView
项目。我不希望两者重叠。
提前感谢您的任何回复。
因此,您希望能够ListViewItem
在点击其中一部分时选择 ,而不是TextBlock
? 如果是这种情况,请在TextBlock
'sTapped
事件中添加e.Handled = true;
. 这应该使它不会被进一步路由到 parent ListView
。
您可以做的另一件事(这可能是您想要对 ListViewItems 执行的任何操作的更通用解决方案)是不使用 thingSelectionChanged
事件,而是使用ItemClick
. 然后,您可以推断OriginalSource
事件的 是否确实是您的TextBlock
. 然后,如果不是TextBlock
,则更改父ListView
级的SelectedItem
.
检查原始来源的示例
public static void ItemClickEvent(object sender, ItemClickEventArgs e)
{
if(e.OriginalSource is TextBlock)
DoNothingOrMaybeTextBlockEvent();
else
{
ListView.SelectedItem = e.ClickedItem;
}
}
希望这可以帮助。
编辑:为 OriginalSource 检查添加了一些示例代码