ListViewItemそのため、その一部をタップしたときに を選択できるようにしたいのですが、 TextBlock?は選択できません。この場合、TextBlockのTappedイベントに を追加しe.Handled = true;ます。これにより、親までルーティングされないようにする必要がありListViewます。
他にできること (これは、ListViewItems でやりたいことに対するより一般的な解決策になる可能性があります) は、thingイベントを使用せず、代わりにすべてを で処理することです。その後、イベントの が実際にあなたの であるかどうかを推測できます。次に、 でない場合は、親のを変更します。SelectionChangedItemClickOriginalSourceTextBlockTextBlockListViewSelectedItem
OriginalSource を確認する例
public static void ItemClickEvent(object sender, ItemClickEventArgs e)
{
if(e.OriginalSource is TextBlock)
DoNothingOrMaybeTextBlockEvent();
else
{
ListView.SelectedItem = e.ClickedItem;
}
}
お役に立てれば。
編集:OriginalSourceチェックのサンプルコードを追加