私はデータバインディングを持つListBoxを持っています。ユーザーがListBoxItemの1つをクリックしたときにイベントを発生させる必要がありますが、それをどうやって行うのかは大変です。私はListBox.ItemTemplate上のグリッドを入れて、その上でMouseDownイベントを入れてみました:データバインディング(WPF)を使用したListBoxItemsのMouseDown
<ListBox
Name="popupListBox">
<ListBox.ItemTemplate>
<DataTemplate>
<Grid MouseDown="Grid_MouseDown" Background="Aquamarine">
<TextBlock Text="{Binding Path=TagText}" />
</Grid>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
グリッドが実際ListBoxItemより通常小さいですが。私は、その一部をクリックしたときにどのように起動するのかを理解することはできません。
ListBoxでSelectionChangedイベントを調べてみましたが、現在選択されているアイテムをクリックしても起動しません。
また、ListBoxItemのスタイルを編集しようとしましたが、MouseDownイベントを正しく適用する方法がわかりません。私はいつも構文エラーが出ます。
この質問は、より良い答えを取得します。http://stackoverflow.com/questions/1271375/how-to-capture-a-mouse-click-on-an-item-in-a-listbox-in -wpf – RandomEngy