如何更改 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 具有相同效果的解决方案持开放态度。
您可以向 FlagEnumEditor
的 Resources
属性 添加隐式 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>
我在名为 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 具有相同效果的解决方案持开放态度。
您可以向 FlagEnumEditor
的 Resources
属性 添加隐式 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>