我有一个 WPF Window
,它基本上有一个显示项目列表的 ListBox
。
然后我有一个 ListView
基本上显示 ListBox
中 SelectedItem
的详细信息。
问题是,当焦点不再位于 ListBox
上时,突出显示的颜色会消失,我再也看不到选择了哪个主项。
你知道我怎么解决这个问题吗? (即确保项目保持突出显示)
最佳答案
最快的方法是在 ListBoxItem 上使用样式来覆盖默认系统颜色:
<Style TargetType="ListBoxItem">
<Style.Resources>
<!--SelectedItem with focus-->
<SolidColorBrush x:Key="{x:Static SystemColors.HighlightBrushKey}"
Color="LightBlue" Opacity=".4"/>
<!--SelectedItem without focus-->
<SolidColorBrush x:Key="{x:Static SystemColors.ControlBrushKey}"
Color="LightBlue" Opacity=".4"/>
</Style.Resources>
</Style>
这是为列表项定义 ItemTemplate 的稍微复杂(但更容易控制)方法的一种快捷方式。网上有很多这样的例子,这里就不放了。
关于c# - WPF SelectedItem 颜色在列表失去焦点时消失,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6624320/