如何设置此列表框中所选项目的样式?
<ListBox x:Name="AssetTypeListBox" SelectionMode="Multiple">
<ListBox.ItemsPanel >
<ItemsPanelTemplate >
<UniformGrid Columns="6"/>
</ItemsPanelTemplate>
</ListBox.ItemsPanel>
</ListBox>
我尝试过
<SolidColorBrush x:Key="{x:Static SystemColors.HighlightBrushKey}" Color="#F15025"/>
和
<SolidColorBrush x:Key="{x:Static SystemColors.InactiveSelectionHighlightBrushKey}" Color="#F15025"/>
但是它们似乎并没有像我期望的那样影响所选项目。谢谢。
答案 0 :(得分:0)
如果只想更改所选内容的颜色,那么最简单的方法是将solidcolorbrush设置为列表框上的资源:
<ListBox x:Name="AssetTypeListBox" SelectionMode="Multiple">
<ListBox.Resources>
<SolidColorBrush x:Key="{x:Static SystemColors.HighlightBrushKey}" Color="#F15025"/>
<SolidColorBrush x:Key="{x:Static SystemColors.InactiveSelectionHighlightBrushKey}" Color="#F15025"/>
</ListBox.Resources>
<ListBox.ItemsPanel >
<ItemsPanelTemplate >
<UniformGrid Columns="6"/>
</ItemsPanelTemplate>
</ListBox.ItemsPanel>
</ListBox>
如果您要自定义列表框中项目的 选择 的样式,例如更改选择颜色或完全重塑所选对象的外观项,则需要查看ItemContainerStyle属性。
ItemsPanelTemplate不会对此产生影响-它只是设置应该布局和显示项目的ItemsControl类型,例如StackPanel或UniformGrid。
ListBox的基本层次结构(带有少许盐)是:
这里涵盖了ItemTemplates和ItemsContainerStyle之间的区别: What's the difference between ItemTemplate and ItemContainerStyle in a WPF ListBox?