問題は次のコードで再現できます。
<ListView>
<ListView.ItemContainerStyle>
<Style TargetType="{x:Type ListViewItem}">
<Setter Property="VerticalContentAlignment" Value="Center" />
<Setter Property="HorizontalContentAlignment" Value="Left" />
<Style.Triggers>
<Trigger Property="IsMouseOver" Value="True">
<Setter Property="Background" Value="{x:Null}" />
<Setter Property="BorderBrush" Value="{x:Null}" />
</Trigger>
<Trigger Property="IsSelected" Value="True">
<Setter Property="Background" Value="#FFEDC4" />
<Setter Property="BorderBrush" Value="{x:Null}" />
</Trigger>
</Style.Triggers>
</Style>
</ListView.ItemContainerStyle>
<ListView.Items>
<ListViewItem Height="70">Some item</ListViewItem>
<ListViewItem Height="70">Some item</ListViewItem>
<ListViewItem Height="70">Some item</ListViewItem>
<ListViewItem Height="70">Some item</ListViewItem>
</ListView.Items>
</ListView>
コントロールには、マウスクリックを正しく取得するための問題があります。アイテムのテキストをクリックするとうまく機能し、アイテムを選択します。テキストの外側(つまり、外側であるTextBox
が内側ListViewItem
)をクリックすると、80%の確率で機能しますが、5回ごとには機能しません。アイテムが選択されません。視覚的なスタイルが間違っているだけでなく、キーボードの矢印キーで確認できるアイテムが実際に選択されていません。
トリガーを追加した後、すべてが始まりました。トリガーを削除IsMouseOver
すると役立ちます。
ここで何が間違っている可能性がありますか?