【发布时间】:2011-12-19 23:57:30
【问题描述】:
我有一个列表框,它的选择颜色是默认的纯蓝色。我阅读了这篇文章“如何更改 WPF ListBox SelectedItem 颜色?” here。我想创建其中给定的样式以进行编码。这样我就可以将此样式分配给我的 Listbox ItemContainerStyle 属性。
喜欢
样式 s = ......
MyListBox.ItemContainerStyle = s;
我想在后面的代码中进行此操作,因为如果用户更改了我软件的主题,那么这种样式(选择颜色)应该重新创建自己以匹配更改后的主题颜色。
<Style x:Key="SimpleListBoxItem" TargetType="ListBoxItem">
<Setter Property="FocusVisualStyle" Value="{x:Null}" />
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="ListBoxItem">
<Border Name="Border" Padding="2" SnapsToDevicePixels="true">
<ContentPresenter />
</Border>
<ControlTemplate.Triggers>
<Trigger Property="IsSelected" Value="true">
<Setter TargetName="Border" Property="Background" Value="{StaticResource AuthorGradient}"/>
</Trigger>
</ControlTemplate.Triggers>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
【问题讨论】:
-
您尝试了哪些方法,遇到了哪些问题?请编辑问题以添加此信息,包括您拥有的任何代码示例(即使它们已损坏)。
-
@MerlynMorgan-Graham:我已经编辑了我的问题,请立即查看。
-
这是一个重复的问题:stackoverflow.com/questions/1729368/… - 从该示例开始,让 Intellisense 帮助您完成其余的工作。
-
@MerlynMorgan-Graham 我已经调查过了