私のWPFアプリケーションでは、ListBox SelectionChangedイベントを処理しているし、正常に動作します。WPF:ListBoxアイテムのクリックを処理するにはどうすればいいですか?
今、私はクリックイベントを処理する必要があります(既に選択されているアイテムであっても)。 MouseDownを試しましたが、動作しません。 アイテムのListBoxクリックを処理するにはどうすればよいですか?
ありがとうございます!
私のWPFアプリケーションでは、ListBox SelectionChangedイベントを処理しているし、正常に動作します。WPF:ListBoxアイテムのクリックを処理するにはどうすればいいですか?
今、私はクリックイベントを処理する必要があります(既に選択されているアイテムであっても)。 MouseDownを試しましたが、動作しません。 アイテムのListBoxクリックを処理するにはどうすればよいですか?
ありがとうございます!
おそらくPreviewMouseDown
イベントを試してください。 MouseDown
イベントは飲み込まれ、SelectionChanged
イベントに変換されます。
PreviewMouseDown
がSelectionChanged
の前に発生するという欠点のみがあります。
だけPreviewMouseDownイベントを処理:
private void listBox_PreviewMouseDown(object sender, MouseButtonEventArgs e)
{
var item = ItemsControl.ContainerFromElement(listBox, e.OriginalSource as DependencyObject) as ListBoxItem;
if (item != null)
{
// ListBox item clicked - do some cool things here
}
}
リストボックスは、内部で選択が変更を実行するには、下のマウスを使用しています。プレビューのマウスダウンイベントを使用することができます。これは、ここで回答され
別にダウンプレビューマウスから、あなたがEventManager.RegisterClassHandlerを使用することができます... ...:http://stackoverflow.com/a/821609/58768 –
@modosansreves that questions asks aboutクリックしてください。クリックは特別です。明らかにハイジャックされ、SelectionChangedに変わった。 DoubleClickはそうではありません... –
これは同様の質問です。その答えはすべてのアプローチの素敵な要約です。 http://stackoverflow.com/q/1271375/1175496 –