Элементы управления Windows темы WPF для соответствия Telerik

У нас есть проект, который в основном использует элементы управления Telerik WPF. К сожалению, в некоторых элементах управления (в основном в элементе управления tab) есть некоторые ошибки show stopper, что означает, что вместо этого нам нужно было удалить эквивалент windows. Есть ли в любом случае, чтобы получить элементы управления windows в стиле, как telerik, поскольку в настоящее время они вообще не совпадают. Мне сказали,что вы можете это сделать, но ничего не можете найти в интернете.

Спасибо.Внутри.Вперед!1-->

2 ответов


хорошо, на этот вопрос уже "ответили", но мне также было невероятно трудно найти какую-либо информацию, поэтому для тех, кто следует:

установка темы для элементов управления Telerik легко, например

Telerik.Windows.Controls.StyleManager.ApplicationTheme = new Telerik.Windows.Controls.SummerTheme();

но что вам также нужно сделать, это создать файл ресурсов, который устанавливает тему для всех элементов управления 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}}" />

затем вы либо добавляете его в ресурсы приложения, помещая строку в свой приложение.язык XAML:

<ResourceDictionary Source="Resources/Windows_SummerTheme.xaml" />

или добавив его в код:

Application.Current.Resources.MergedDictionaries.Add("./Resources/Windows_SummerTheme.xaml");

очевидно, вы можете создать файл для каждой темы и использовать оператор case, чтобы пользователь мог снять кожу с приложения из меню.

надеюсь, что это помогает!


ответ

мне удалось узнать это от человека, который первоначально сказал мне для тех, кто имеет ту же проблему.