WPF主题窗口控件以匹配Telerik的

Nic*_*ick 8 c# wpf telerik wpf-controls

我们有一个主要使用Telerik WPF控件的项目.不幸的是,在一些控件(主要是制表符控件)中有一些显示阻塞错误,这意味着我们需要相应地删除等效的窗口.反正有没有让windows控件像telerik那样控制,因为它们目前根本不匹配.我被告知你可以做到这一点,但无法在网上找到任何关于它的信息.

提前致谢

Ste*_*Cav 13

好的,这个问题已经"回答"了,但我也发现难以找到任何信息,所以对于那些关注的人:

设置Telerik控件的主题很简单,例如

Telerik.Windows.Controls.StyleManager.ApplicationTheme = new Telerik.Windows.Controls.SummerTheme();
Run Code Online (Sandbox Code Playgroud)

但你还要做的是创建一个资源文件,为所有windows控件设置主题,例如

<ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
                    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
                    xmlns:telerik="http://schemas.telerik.com/2008/xaml/presentation"                    
                    >

    <Style TargetType="TextBox" BasedOn="{StaticResource {telerik:ThemeResourceKey ThemeType=telerik:SummerTheme, ElementType=TextBox}}" />
    <Style TargetType="Button" BasedOn="{StaticResource {telerik:ThemeResourceKey ThemeType=telerik:SummerTheme, ElementType=Button}}" />
    <Style TargetType="ListBox" BasedOn="{StaticResource {telerik:ThemeResourceKey ThemeType=telerik:SummerTheme, ElementType=ListBox}}" />
    <Style TargetType="CheckBox" BasedOn="{StaticResource {telerik:ThemeResourceKey ThemeType=telerik:SummerTheme, ElementType=CheckBox}}" />
    <Style TargetType="PasswordBox" BasedOn="{StaticResource {telerik:ThemeResourceKey ThemeType=telerik:SummerTheme, ElementType=PasswordBox}}" />
    <Style TargetType="ScrollViewer" BasedOn="{StaticResource {telerik:ThemeResourceKey ThemeType=telerik:SummerTheme, ElementType=ScrollViewer}}" />
Run Code Online (Sandbox Code Playgroud)

然后,您可以在app.xaml中添加一行,将其添加到应用程序的资源中:

<ResourceDictionary Source="Resources/Windows_SummerTheme.xaml" />
Run Code Online (Sandbox Code Playgroud)

或者在代码中添加它:

Application.Current.Resources.MergedDictionaries.Add("./Resources/Windows_SummerTheme.xaml");
Run Code Online (Sandbox Code Playgroud)

显然,您可以为每个主题创建一个文件并使用case语句,以便用户可以从菜单中为应用程序设置外观.

希望这可以帮助!


Nic*_*ick 1

回答

我设法从最初告诉我有同样问题的人那里找到了这一点。