我想在DataGridComboxColumn中设置backgroundcolor。 我尝试使用
使用xaml<DataGridComboBoxColumn Header="Auswahl1" TextBinding="{Binding Auswahl1S, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" >
<DataGridComboBoxColumn.ElementStyle>
<Style TargetType="ComboBox">
<Setter Property="ItemsSource" Value="{Binding Path=AuswahlL, ElementName=testdialog}" />
<Setter Property="Background" Value="{Binding Path=Auswahl1Background}" />
</Style>
</DataGridComboBoxColumn.ElementStyle>
<DataGridComboBoxColumn.EditingElementStyle>
<Style TargetType="ComboBox">
<Setter Property="ItemsSource" Value="{Binding Path=AuswahlL, ElementName=testdialog}" />
</Style>
</DataGridComboBoxColumn.EditingElementStyle>
</DataGridComboBoxColumn>
我也尝试过代码:
DataGridComboBoxColumn col4 = new DataGridComboBoxColumn();
col4.Header = "Auswahl4";
col4.ItemsSource = AuswahlL;
col4.TextBinding = new Binding("Auswahl4S");
Binding b = new Binding("Auswahl1Background");
Style style = new System.Windows.Style(typeof(ComboBox));
style.Setters.Add(new Setter(ComboBox.BackgroundProperty, b));
col4.ElementStyle = style;
没有工作,我不知道这里有什么问题。
由于 沃尔特
答案 0 :(得分:0)
使用DataGridTemplateColumn
代替DataGridComboBoxColumn
。这样你就可以直接设置控件的东西......
<DataGridTemplateColumn Header="Auswahl1">
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<ComboBox x:Name="ComboBoxColumn">
<ComboBox.Style>
<Style TargetType="ComboBox">
<Setter Property="ItemsSource" Value="{Binding Path=AuswahlL, ElementName=testdialog}" />
<Setter Property="Background" Value="{Binding Path=Auswahl1Background}" />
</Style>
</ComboBox.Style>
</ComboBox>
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>
或者您可以为该特定GridCell使用StyleSelector和Set Background。 DataGridTemplateColumn
您可以按照以下link..
中提到的相同内容进行操作