如何更改 Telerik WPF 中的 FlagEnumEditor 颜色?

How to change FlagEnumEditor Color in Telerik WPF?

我在名为 Statistiken 的专栏中使用 WPF Telerik FlagEnumEditor。 FlagEnumEditor 使我能够存储枚举器中定义的值的任意组合。

我面临的问题是我不能改变它的颜色。我希望它是透明的或白色的,就像我的 RadGridView 中的所有其他列一样。

我已将 FlagEnumEditor BorderBrush 和背景设置为透明和其他一些颜色,但没有任何反应。我错过了什么吗?我不明白为什么这里的颜色没有改变。如何将 Statistiken 列的颜色更改为与 Datentyp 列相同的颜色?

Stitistiken专栏XAML源代码:

<telerik:GridViewDataColumn x:Name="CheckComboBoxColumn"
                            Header="Statistiken"
                            IsReadOnly="True">
   <telerik:GridViewDataColumn.CellTemplate>
        <DataTemplate>
              <telerik:FlagEnumEditor BorderBrush="Transparent"
                                      Background="Transparent"
                                      Margin="-4,0,-2,0"
                                      Value="{Binding Aggregates, Mode=TwoWay}"
                                      EnumType="viewModels:Aggregates" />
        </DataTemplate>
   </telerik:GridViewDataColumn.CellTemplate>
</telerik:GridViewDataColumn>

枚举聚合:

[Flags]
public enum Aggregates
{
    All = -1,
    None = 0,
    Avg = 1,
    Count = 2,
    Min = 4,
    Max = 8,
    Sum = 16
}

Datentyp 列 XAML 源代码,但这里我使用的是 RadComboBox,因为我不需要组合枚举值:

<telerik:GridViewDataColumn Header="Datentyp">
    <telerik:GridViewDataColumn.CellTemplate>
        <DataTemplate>
             <telerik:RadComboBox BorderBrush="Transparent"
                                  Background="Transparent"
                                  Margin="-5,0,-2,0"
                                  ItemsSource="{Binding DataContext.ColumnTypes, RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type telerik:RadGridView}},UpdateSourceTrigger=PropertyChanged}"
                                  SelectedItem="{Binding ColumnType, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" />
        </DataTemplate>
             </telerik:GridViewDataColumn.CellTemplate>
    <telerik:GridViewDataColumn.CellEditTemplate>
         <DataTemplate>
              <telerik:RadComboBox BorderBrush="Transparent"
                                   Background="Transparent"
                                   Margin="0,0,0,0"
                                   ItemsSource="{Binding DataContext.ColumnTypes, RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type telerik:RadGridView}},UpdateSourceTrigger=PropertyChanged}"
                                   SelectedItem="{Binding ColumnType, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" />
        </DataTemplate>
    </telerik:GridViewDataColumn.CellEditTemplate>
</telerik:GridViewDataColumn>

ps。我也对与 FlagEnumEditor 具有相同效果的解决方案持开放态度。

您可以向 FlagEnumEditorResources 属性 添加隐式 RadDropDownButton 样式以更改其颜色:

<telerik:FlagEnumEditor Margin="-4,0,-2,0"
                        BorderThickness="0"
                        Value="{Binding Aggregates, Mode=TwoWay}"
                        EnumType="viewModels:Aggregates">
    <telerik:FlagEnumEditor.Resources>
        <Style TargetType="telerik:RadDropDownButton" BasedOn="{StaticResource {x:Type telerik:RadDropDownButton}}">
            <Setter Property="Background" Value="Transparent" />
            <Setter Property="BorderBrush" Value="Transparent" />
        </Style>
    </telerik:FlagEnumEditor.Resources>
</telerik:FlagEnumEditor>