更改.NET 4.5 WPF功能区的主题

时间:2012-11-01 09:44:04

标签: c# wpf ribbon-control wpf-4.5

我正在尝试从.NET Framework 4.5更改新WPF Ribbon Control的主题,但我陷入困境。

我只设法改变一些画笔(背景,前景,边框......)但我似乎无法改变明亮的叠加和阴影。

我很高兴使用资源字典,但我不知道需要设置哪些属性。

我希望你能指出我正确的方向,非常感谢你的帮助!

4 个答案:

答案 0 :(得分:1)

如果您想要更改Ribbon控件(或任何其他控件)的公开属性以外的任何内容,例如背景,前景等你必须编辑控件的模板

在控件的模板中,您几乎可以更改控件外观的任何部分。

有关自定义控件模板的详细信息,请查看此链接:MSDN Styling & Templating

答案 1 :(得分:0)

非常简单,在App.xaml中,您可以定义主题并将此主题分配给您想要的任何控件。例如,我已将Office_Blue定义为我的主题,并仅将此主题分配给我的Button,如下所示:

  <Application.Resources>

    <telerik:Theme x:Key="TelerikGlobalTheme">Office_Blue</telerik:Theme>
      <Style BasedOn="{x:Null}" TargetType="{x:Type Button}">
        <Setter Property="telerik:StyleManager.Theme" Value="{DynamicResource TelerikGlobalTheme}" />
      </Style>

您可以根据需要为上面定义的主题分配尽可能多的控件。

答案 2 :(得分:-1)

对于遇到此问题的人,您可以查看第三方控件,例如:Syncfusion's Ribbon(看起来像办公室主题)

答案 3 :(得分:-5)

据我所知,有两个主题,一个是“Windows 7(默认)”,另一个是“Office 2007 Blue”。您可以通过向窗口中添加资源字典来更改主题,该资源的来源是office 2007 Blue的xaml文件,如下所示:

<Window.Resources>
    <ResourceDictionary>
      <ResourceDictionary.MergedDictionaries>
        <ResourceDictionary 
          Source="/RibbonControlsLibrary;component/Themes/Office2007Blue.xaml"/>
      </ResourceDictionary.MergedDictionaries>
    </ResourceDictionary>
  </Window.Resources>

您可以将Office2007Blue.xaml复制到新的xaml文件并修改它以创建自定义主题,然后按照与上面相同的方式引用它。

您可以了解有关功能区from here.

的更多信息

如果您想要快速简便的解决方案,请尝试准备好WPF Themes.