问题可以通过以下代码重现:
<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
触发器有帮助。
这里有什么问题?