【问题标题】:Change Theme of .NET 4.5 WPF Ribbon更改 .NET 4.5 WPF 功能区的主题
【发布时间】:2012-10-21 21:11:03
【问题描述】:

我正在尝试从 .NET Framework 4.5 更改新 WPF Ribbon Control 的主题,但我被卡住了。

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

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

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

【问题讨论】:

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


【解决方案1】:

如果您想要更改的不仅仅是功能区控件(或任何其他控件)的公开属性,例如背景、前景等,您必须编辑控件的模板

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

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

【讨论】:

    【解决方案2】:

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

    【讨论】:

      【解决方案3】:

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

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

      【讨论】:

      • 这适用于 .NET 4.5 WPF 功能区吗? Telerik 丝带是另一回事。
      【解决方案4】:

      据我所知,有两个主题,一个是“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 from here.

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

      【讨论】:

      • 我试过了,但是 它不起作用 来自 .NET 4.5 WPF 的功能区
      • 为此,您需要一个单独的资源字典来为各种控件提供 WPF 样式。告诉我你到底面临什么异常。
      • 我没有“RibbonControlsLibrary”。我使用System.Windows.Controls.Ribbon。我也尝试过 ExpressionDark.xaml 和 co,但它们不会更改功能区颜色。
      • 是的,不知道这个 RibbonsControlLibrary 是什么。是第三方功能区控件吗? -- 很确定作者和其他人只是在使用内置的微软。 -- 我也不知道怎么设置主题。
      • 此答案与 RibbonControlsLibrary 相关,与 .NET 4.5 WPF 功能区无关
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-11-11
      • 2015-01-23
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多