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语句,以便用户可以从菜单中为应用程序设置外观.
希望这可以帮助!