【问题标题】:Styling Ribbon from the RibbonControlsLibrary来自 RibbonControlsLibrary 的样式功能区
【发布时间】:2011-03-01 11:48:30
【问题描述】:

丝带很好。我想让它变得更好......(恕我直言)

使用功能区(来自 .NET 3.5 sp1 上的 RibbonControlsLibrary),可以更改一些背景和前景。但我想重新设计的是位于 RibbonTabGroup 的“背景”中的白色“蒙版”(带有 alpha 的线性渐变画笔)。我和史努比一起看到的。我在风格中找到了它。

<LinearGradientBrush x:Key="[49] Í" StartPoint="0.5,0.0" EndPoint="0.5,1.0">
    <GradientStop Color="#EEFFFFFF" Offset="0.0" />
    <GradientStop Color="#BBFFFFFF" Offset="0.1" />
    <GradientStop Color="#05FFFFFF" Offset="0.5" />
    <GradientStop Color="#20FFFFFF" Offset="1.0" />
</LinearGradientBrush>

但我仍然不知道如何覆盖它。我也不知道在哪里设置... 干杯,帕特里克

【问题讨论】:

    标签: wpf ribbon styling


    【解决方案1】:

    我明白了!

    借助以下帖子Serialize a UserControl to xaml, but not its children? [非常感谢您,Will]。我可以提取“默认”样式。所以我获得了完整的风格。我之前所做的,使用 .NET Reflector 打开 RibbonControlsLibrary 并使用 BAML Viewer 读取 XAML。在我的情况下并不理想。

    以防万一有人有同样的愿望,获取组件的默认样式(当它未发布时@MSDN):

      System.Windows.Style style = Application.Current.FindResource(typeof(Microsoft.Windows.Controls.Ribbon.Ribbon)) as System.Windows.Style;
    
      var sb = new System.Text.StringBuilder();
      var writer = System.Xml.XmlWriter.Create(sb, new System.Xml.XmlWriterSettings
      {
        Indent = true,
        ConformanceLevel = System.Xml.ConformanceLevel.Fragment,
        OmitXmlDeclaration = true
      });
      var mgr = new System.Windows.Markup.XamlDesignerSerializationManager(writer);
      mgr.XamlWriterMode = System.Windows.Markup.XamlWriterMode.Expression;
      System.Windows.Markup.XamlWriter.Save(style, mgr);
      string styleString = sb.ToString();
    

    干杯,帕特里克

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-10-15
      • 2012-06-13
      • 1970-01-01
      相关资源
      最近更新 更多