14

我正在尝试从 .NET Framework 4.5 更改新WPF 功能区控件的主题,但我被卡住了。

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

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

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

4

4 回答 4

1

如果您想要更改的不仅仅是 Ribbon 控件(或任何其他控件)的公开属性,例如 Background、Foreground 等,则必须编辑控件的Template

在控件的模板中,您几乎可以更改属于控件视觉外观的任何内容。

有关自定义控件模板的更多信息,请查看此链接:MSDN 样式和模板

于 2016-01-31T11:12:09.980 回答
-1

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

于 2015-10-01T10:46:44.483 回答
-2

这很简单,在您的 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>

您可以为上述定义的主题分配任意数量的控件。

于 2016-08-27T09:01:59.687 回答
-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 文件并对其进行修改以创建自定义主题,然后按照与上述相同的方式引用它。

你可以从这里获得更多关于 Ribbon的信息。

如果你想要快速简单的解决方案,那么试试这个现成的 WPF 主题。

于 2012-11-01T09:57:04.130 回答