首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从RibbonControlsLibrary设置功能区样式

从RibbonControlsLibrary设置功能区样式
EN

Stack Overflow用户
提问于 2011-03-01 19:48:31
回答 1查看 2K关注 0票数 0

彩带很不错。我想让它变得更好。(IMHO)

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

代码语言:javascript
复制
<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>

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

EN

回答 1

Stack Overflow用户

发布于 2011-03-02 00:32:21

这样啊,原来是这么回事!

在下面这篇文章的帮助下,Serialize a UserControl to xaml, but not its children?非常感谢你。我可以提取“默认”样式。所以我得到了完整的风格。正如我之前所做的,使用XAML打开RibbonControlsLibrary,并使用BAML Viewer读取.NET。对我来说不是很理想。

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

代码语言:javascript
复制
  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();

干杯,帕特里克

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5154094

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档