0

典型的なlistBoxで、どのlistBoxItemが現在フォーカスされているかを判断する方法はありますか? マウスオーバーイベントのような、選択前の状態について話しています。

MouseEnterとイベントを試しましたFocusが、問題は、これらのイベントを呼び出したアイテムを特定する方法が見つからなかったことです。

4

2 に答える 2

1

SelectedIndex または SelectedItem を使用する必要があります

于 2013-03-31T16:56:48.167 に答える
0

もっと精巧なものが必要でしょう...

「イベントベース」のソリューションについては、これを参照してください-ただしI wouldn't recommend that (unless a fast fix or very specific) as it 'ties' your code, you should keep MVVM as much as possible...

ListBox マウスオーバー - アイテムの取得方法

<ListBox.ItemContainerStyle> 
    <Style TargetType="{x:Type ListBoxItem}">  
        <EventSetter Event="MouseEnter" Handler="ListBoxItem_MouseEnter" /> 
    </Style> 
</ListBox.ItemContainerStyle> 

そして、MVVMで動作するように修正するには(i.e. you need to bind that event as a command into your view-model ICommand-ある種の添付プロパティが必要です-たとえば(高速検索だけで多くの情報が得られます)...

WPF コマンドを MouseEnter イベントに関連付けるにはどうすればよいですか?
WPFでStackPanelのMouseEnterでコマンドバインディングを実行するにはどうすればよいですか?
WPF – MouseOver でボタン コマンドを実行する

次に、それをビューモデルプロパティにバインドしattached propertyます-「ホバーアイテム」の変更として取得します-そして、残りを行うことができます-独自の「HoveredItem」プロパティを設定/公開することもできます(これが私が行う方法です-すべてを接続しますまとめて、コマンド ワイヤの代わりに、その hoevered プロパティまたは何かに直接配線します. これは高速な疑似コードです。

于 2013-03-31T19:05:44.093 に答える