ListBox 内のアイテムがマウスでクリックされたときに、既に選択されているかどうかに関係なく、通知を受け取りたいです。
私はこれを検索して見つけました: ( http://kevin-berridge.blogspot.com/2008/06/wpf-listboxitem-double-click.htmlコメントを参照)
private void AddDoubleClickEventStyle(ListBox listBox, MouseButtonEventHandler mouseButtonEventHandler)
{
if (listBox.ItemContainerStyle == null)
listBox.ItemContainerStyle = new Style(typeof(ListBoxItem));
listBox.ItemContainerStyle.Setters.Add(new EventSetter()
{
Event = MouseDoubleClickEvent,
Handler = mouseButtonEventHandler
});
}
//Usage:
AddDoubleClickEventStyle(listView1, new MouseButtonEventHandler(listView1_MouseDoubleClick));
これは機能しますが、DoubleClick
. ただし、ワンクリックで機能させることはできません。試してみました-イベントMouseLeftButtonDownEvent
がないようですが、呼び出されていません。MouseClick
もう少し一般的な副次的な質問: どのイベントが存在し、どのハンドラーがそれらに対応し、いつ実際に何かを実行するかを確認するにはどうすればよいですか? たとえば、 aMouseDoubleClickEvent
には が必要だと何がわかりますMouseButtonEventHandler
か? たぶん、MouseLeftButtonDownEvent
他のハンドラーが必要なのですが、それが機能していないのですか?
サブクラス化ListBoxItem
とオーバーライドも試しOnMouseLeftButtonDown
ましたが、どちらも呼び出されません。
マルク