我有一个带AlternationCount=2
的WPF列表框
我想禁用框中项目的选择,但我想保留颜色。
当我设置IsEnabled="False"
时,列表框中的项目选择被禁用,但文本和背景变为灰色。
如何禁用选择,但保持前景色和交替背景色,就好像它已启用一样?
答案 0 :(得分:0)
ListBoxItem
中有一些可能有用的属性:Focusable
和IsHitTestVisible
。将其中一个设置为false
以禁用视图中的选择。 (使用Focusable="false"
ListBoxItems将改变鼠标上的颜色)。设置IsEnabled="false"
也会阻止选择,但它会另外更改前景色。
<ListBox>
<ListBox.ItemContainerStyle>
<Style TargetType="ListBoxItem">
<Setter Property="Focusable" Value="False"/>
<!--<Setter Property="IsHitTestVisible" Value="False"/>-->
</Style>
</ListBox.ItemContainerStyle>
</ListBox>
请注意,仍然可以使用ListBox属性通过代码设置选择:例如SelectedIndex="3"