gpt4 book ai didi

wpf - 不在焦点时覆盖 ListBoxItem 背景颜色 (.NET 4.5)

转载 作者:行者123 更新时间:2023-12-04 01:57:22 25 4
gpt4 key购买 nike

根据 this ,重写 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>

如果您在 .NET 4.5 中运行它,您可以看到它只更改了焦点颜色,而不是非焦点(它在 .NET 4.0 中有效)。知道为什么吗?

编辑:这似乎是 List/Combo Box Background And Selected Colours Under .net 4.5 的副本.

最佳答案

当它失去焦点时,尝试以下更改所选 ListBoxItem 的背景颜色:

XAML

<ListBox.Resources>    
<SolidColorBrush x:Key="{x:Static SystemColors.HighlightBrushKey}" Color="LightBlue"/>
<SolidColorBrush x:Key="{x:Static SystemColors.InactiveSelectionHighlightBrushKey }" Color="Orange" />
</ListBox.Resources>

C#
listBox.Resources.Add(SystemColors.InactiveSelectionHighlightBrushKey, 
new SolidColorBrush(Colors.Orange));

我希望这个对你有用。

关于wpf - 不在焦点时覆盖 ListBoxItem 背景颜色 (.NET 4.5),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12710296/

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