RibbonGroup中的Foreground设置无效 ,如下:
BrushConverter brushConverter = new BrushConverter();
ribbonGroup.Foreground = (Brush)brushConverter.ConvertFromString("#FF0000");
设置颜色之后就是不变,到底是为什么
怀疑是因为继承自 Ribbon 的样式导致了覆盖,试试这样:
设置 RibbonGroup 的样式:
<ribbon:RibbonGroup x:Name="ribbonGroup1" Header="Group 1">
<ribbon:RibbonGroup.Style>
<Style TargetType="ribbon:RibbonGroup">
<Setter Property="Foreground" Value="#FF0000"/>
</Style>
</ribbon:RibbonGroup.Style>
...
</ribbon:RibbonGroup>
在代码中设置:
ribbonGroup.Foreground = (Brush)brushConverter.ConvertFromString("#FF0000");
ribbonGroup.FontWeight = FontWeights.Bold;
以下答案引用自GPT-3大模型,请合理使用:
呢?
微软的 Ribbon控件严格依照Windows Presentation Foundation(WPF)的行为规范工作。WPF中的颜色值是以16位带有符号的浮点数表示的,而Ribbon中的Foreground属性是用来设置控件前景色的。当前控件的前景色被设置为一个不同的颜色时,WPF会使用这个颜色来绘制控件的前景。而Ribbon中的Foreground属性是不会被 WPF使用的,所以设置了Foreground的颜色值之后就不再发生变化了。