ribbonGroup中的Foreground设置无效

RibbonGroup中的Foreground设置无效 ,如下:

                BrushConverter brushConverter = new BrushConverter(); 
                ribbonGroup.Foreground = (Brush)brushConverter.ConvertFromString("#FF0000"); 

设置颜色之后就是不变,到底是为什么

怀疑是因为继承自 Ribbon 的样式导致了覆盖,试试这样:

  1. 设置 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>
    
  2. 在代码中设置:

    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的颜色值之后就不再发生变化了。