我有一个 UserControl
它基本上包装了一个 ListBox
像这样 -
<ListBox x:Name="lb" ItemsSource="{Binding ElementName=UC,Path=Pages}"
Background="{Binding ElementName=UC,Path=Background}"
BorderBrush="Transparent"
ScrollViewer.CanContentScroll="False"
ScrollViewer.HorizontalScrollBarVisibility="Hidden"
ScrollViewer.VerticalScrollBarVisibility="Disabled">
<ListBox.ItemsPanel>
<ItemsPanelTemplate>
<StackPanel Orientation="Horizontal" IsItemsHost="True"/>
</ItemsPanelTemplate>
</ListBox.ItemsPanel>
<ListBox.ItemTemplate>
<DataTemplate>
<Grid Width="{Binding ElementName=UC,Path=ActualWidth}">
<Grid.ColumnDefinitions>
<ColumnDefinition MinWidth="20"/>
<ColumnDefinition/>
<ColumnDefinition MinWidth="20"/>
</Grid.ColumnDefinitions>
<ContentPresenter Grid.Column="1" Content="{Binding}"/>
</Grid>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
我需要设置
FocusVisualStyle
至 {x:Null}
隐藏此功能,但无论我在哪里应用它,我仍然会获得默认的蓝色选择颜色。我试过在 ListBox、StackPanel 和 Grid 上设置它,但无济于事。任何帮助都会很棒。谢谢。
最佳答案
FocusVisualStyle 在聚焦元素周围应用“行进 Ant ”,而不是背景颜色。要更改所选列表框项目的背景颜色,请执行以下操作:
<ListBox>
<ListBox.Resources>
<SolidColorBrush x:Key="{x:Static SystemColors.HighlightBrushKey}" Value="Red"/>
<SolidColorBrush x:Key="{x:Static SystemColors.HighlightTextBrushKey}" Value="Black"/>
</ListBox.Resources>
</ListBox>
关于WPF - FocusVisualStyle 我在哪里应用它?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/674219/