c# - WPF SelectedItem 颜色在列表失去焦点时消失

标签 c# wpf wpf-controls

我有一个 WPF Window,它基本上有一个显示项目列表的 ListBox

然后我有一个 ListView 基本上显示 ListBoxSelectedItem 的详细信息。

问题是,当焦点不再位于 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/

相关文章:

c# - WPF 基础 : Shared global styles for MVVM

c# - DockPanel.Dock ="Right"不适用于最大化窗口上的单个控件?

c# - WPF UniformGrid 动态行高

wpf - 如何在 WPF ContextMenu 中对菜单项进行分组而不嵌套它们?

c# - 我能找到 .NET 4.0 的 WPF 图表控件教程吗

c# - 将图像缩小为矩形的算法?

c# - 如何在 asp.net 中将 RDLC 报告导出为 .xlsx 格式?

c# - 从另一个表单的 datagridview 获取值

c# - 如何调整我构建的自定义控件的大小

wpf - F# WPF MouseMove 参数