【发布时间】:2016-07-09 06:56:36
【问题描述】:
我想知道如何更改组合框的背景。我知道您通常可以选择组合框,然后右键单击编辑副本和编辑模板,但是由于组合框是数据模板的一部分,我无法选择组合框来执行此操作,我想知道该怎么做呢?我也尝试复制并粘贴一个普通的组合框模板。但是,我在 aero 和 aero 2 主题中遇到错误,但我之前在我的项目的其他解决方案中使用过这个。任何人都可以帮助我吗?
XAML
<DataTemplate x:Key="TreeRootTemplate">
<Border BorderBrush="Black" BorderThickness="1" VerticalAlignment="Center" Background="#F7F7F7" CornerRadius="3">
<StackPanel Margin="2" Width="170" Orientation="Horizontal">
<Image Source="{Binding Icon, Converter={StaticResource ImageToSourceConverter}}" Width="16" Height="16" Margin="5"/>
<ComboBox Width="140" HorizontalContentAlignment="Left" VerticalContentAlignment="Center" ItemsSource="{Binding AvailableSources}" SelectedValuePath="Id" DisplayMemberPath="Name" SelectedItem = "{Binding Source, Mode=TwoWay}" BorderThickness="0">
<ComboBox.Resources>
</ComboBox.Resources>
<ComboBox.ItemTemplate>
<DataTemplate>
<TextBlock Text="{Binding}" Padding="5" Foreground="Black" HorizontalAlignment="Left" VerticalAlignment="Center" FontFamily="{StaticResource FontStyle}"/>
</DataTemplate>
</ComboBox.ItemTemplate>
</ComboBox>
</StackPanel>
</Border>
</DataTemplate>
【问题讨论】:
-
为什么不直接使用 Combobox.Background 属性?
-
我也试过了,我的组合框没有任何变化
-
你是对的,从未尝试更改颜色,但 Background 属性不起作用。找到this tutorial 可能有帮助
-
当我尝试第一个“框”区域时,因为我无法编辑副本,它只会更改组合框中的项目:(
标签: c# wpf colors combobox background