gpt4 book ai didi

wpf - ListView 和触发器;用鼠标单击时未选择项目

转载 作者:行者123 更新时间:2023-12-04 18:14:24 25 4
gpt4 key购买 nike

问题可以通过以下代码重现:

<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触发器有帮助。

这里有什么问题?

最佳答案

利用

<Setter Property="Background" Value="Transparent" />

而不是 {x:Null} .否则鼠标事件将不会被捕获。

关于wpf - ListView 和触发器;用鼠标单击时未选择项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11986486/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com