是否可以覆盖Telerik WPF主题中控件模板的一部分?

时间:2017-01-04 21:35:28

标签: c# wpf checkbox telerik themes

我在WPF应用程序中使用Telerik Windows 8主题。但是,我不喜欢使用彩色方块而不是Windows 7主题中的实际复选标记来指示复选框选中状态的方式。复制复选框模板并对其进行修改以使用Windows 7主题复选框模板中的复选框选中标记非常简单。

但是,我无法找到一种方法将包含此修改模板的样式添加到Application.Resources,以便将其应用于我的应用程序中的所有复选框。出于某种原因,Telerik Windows 8主题中的模板仍然是应用的模板。

我尝试了一些不同的方法,但似乎没有任何效果。我的最新方法是将以下样式添加到我的Application.Resources资源字典中:

<Style BasedOn="{StaticResource {telerik:ThemeResourceKey ThemeType=telerik:Windows8Theme, ElementType=CheckBox}}" TargetType="CheckBox" >     <Setter Property="Template">     ....     </Setter> </Style>

有谁知道这个问题的答案?我正在尝试做什么?

谢谢, 克雷格

1 个答案:

答案 0 :(得分:0)

  1. 确保您从Telerik安装的NoXaml文件夹中放弃DLL
  2. 不要添加对任何主题DLL的任何引用
  3. 在Telerik WPF安装位置,进入Themes.Implicit&gt; WPF40&gt; Windows8&gt;主题
  4. 将.xaml文件从那里放入您的解决方案
  5. 在App.xaml资源字典中引用它们:

    <Application.Resources>
    <ResourceDictionary>
        <ResourceDictionary.MergedDictionaries>
            <ResourceDictionary Source="Themes/Office2016/System.Windows.xaml" />
            <ResourceDictionary Source="Themes/Office2016/Telerik.Windows.Controls.xaml" />
            <ResourceDictionary Source="Themes/Office2016/Telerik.Windows.Controls.GridView.xaml" />
     etc...
            </ResourceDictionary.MergedDictionaries>
    </ResourceDictionary>
    

  6. 现在您可以进入System.Windows.xaml文件,找到复选框的样式并编辑样式以将方块更改为勾选 (我认为这是在Checkbox模板中名为CheckVisual的Rectangle,您需要更改)