Изменить тему.NET 4.5 WPF Лента
Я пытаюсь изменить тему нового WPF Ribbon Control с.NET Framework 4.5, и я застрял.
Мне удалось изменить только некоторые кисти (Фон, Передний план, Граница...), но мне кажется, что я не могу изменить яркие наложения и тени.
Я счастлив использовать словарь ресурсов, но я не знаю, какие свойства мне нужно установить.
Я надеюсь, что вы можете указать мне правильное направление, большое спасибо за вашу помощь!
4 ответа
Если вы хотите изменить что-либо, кроме открытых свойств элемента управления "Лента" (или любого другого элемента управления), например "Фон", "Передний план" и т. Д., Вам придется отредактировать шаблон элемента управления.
В шаблоне элемента управления вы можете изменить практически все, что является частью его внешнего вида.
Для получения дополнительной информации о настройке шаблона элемента управления перейдите по этой ссылке: MSDN Styling & Templating
Для всех, кто сталкивался с этим, вы можете посмотреть на сторонние элементы управления, такие как: Лента Syncfusion (выглядит как офисная тема)
Это довольно просто, в вашем App.xaml вы можете определить тему и назначить эту тему любому элементу управления, который вы хотите. например, я определил Office_Blue как свою тему и назначил эту тему только моей кнопке, как показано ниже:
<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>
Вы можете назначить столько элементов управления, сколько хотите, для этой определенной темы, как указано выше.
Насколько я знаю, есть две темы: одна для "Windows 7(по умолчанию)", а другая для "Office 2007 Blue". Вы можете изменить тему, добавив словарь ресурсов в ресурсы окна, источником которых является файл xaml Office 2007 Blue, например:
<Window.Resources>
<ResourceDictionary>
<ResourceDictionary.MergedDictionaries>
<ResourceDictionary
Source="/RibbonControlsLibrary;component/Themes/Office2007Blue.xaml"/>
</ResourceDictionary.MergedDictionaries>
</ResourceDictionary>
</Window.Resources>
Вы можете скопировать Office2007Blue.xaml в новый файл xaml и изменить его, чтобы создать собственную тему, а затем сослаться на нее, выполнив те же действия, что и выше.
Вы можете узнать больше о Ленте отсюда.
А если вы хотите быстрое и простое решение, попробуйте готовые WPF Themes.