考虑一个简单的列表框:
<ListBox ItemsSource="{Binding}">
<ListBox.Resources>
<SolidColorBrush x:Key="MyNormalForegroundBrush" Color="White"/>
<SolidColorBrush x:Key="MyNormalBackgroundBrush" Color="Black"/>
<SolidColorBrush x:Key="MySelectedForegroundBrush" Color="Purple"/>
<SolidColorBrush x:Key="MySelectedBackgroundBrush" Color="Yellow"/>
</ListBox.Resources>
<ListBox.ItemTemplate>
<DataTemplate>
<Border BorderBrush="{StaticResource MyNormalForegroundBrush}" BorderThickness="5" Background={StaticResource MyNormalBackgroundBrush}>
<TextBlock Text="{Binding}" Foreground="{StaticResource MyNormalForegroundBrush}" />
</Border>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
如何获取边框画笔,背景和文本块文本前景以更改当前所选项目的颜色?
答案 0 :(得分:0)
这是为您提供的方式之一,当所选项目发生变化时,获取当前所选项目,然后find the control in DataTemplate by element name,获得控件后,您可以更改控件样式