Dor*_*oby 11 wpf xaml .net-4.5
根据这一点,覆盖ControlBrushKey资源时应更改ListBox选定项目的背景颜色,如果它没有焦点.我创建了一个简单的例子来反驳这个:
<StackPanel>
<ListBox>
<ListBox.Resources>
<SolidColorBrush x:Key="{x:Static SystemColors.HighlightBrushKey}" Color="LightBlue"/>
<!--SelectedItem without focus but doesn't really work-->
<SolidColorBrush x:Key="{x:Static SystemColors.ControlBrushKey}" Color="Orange" />
</ListBox.Resources>
<ListBoxItem>
Item 1
</ListBoxItem>
<ListBoxItem>
Item 2
</ListBoxItem>
</ListBox>
<TextBox></TextBox>
</StackPanel>
Run Code Online (Sandbox Code Playgroud)
如果在.NET 4.5中运行它,您可以看到它只会更改焦点对焦颜色,而不会更改非焦点颜色(它在.NET 4.0中有效).知道为什么吗?
编辑:这似乎是.net 4.5下的列表/组合框背景和选定颜色的重复.
小智 16
尝试以下更改选定的ListBoxItem失去焦点时的背景颜色:
XAML
<ListBox.Resources>
<SolidColorBrush x:Key="{x:Static SystemColors.HighlightBrushKey}" Color="LightBlue"/>
<SolidColorBrush x:Key="{x:Static SystemColors.InactiveSelectionHighlightBrushKey }" Color="Orange" />
</ListBox.Resources>
Run Code Online (Sandbox Code Playgroud)
C#
listBox.Resources.Add(SystemColors.InactiveSelectionHighlightBrushKey,
new SolidColorBrush(Colors.Orange));
Run Code Online (Sandbox Code Playgroud)
我希望这个对你有用.
| 归档时间: |
|
| 查看次数: |
4240 次 |
| 最近记录: |