2017-02-01 7 views
1

У меня есть код для переопределения ресурса CalendarDatePicker (CalendarDatePickerCalendarGlyphForeground) в XAML.Переопределяет ресурс управления с установщиком в файле стиля

<CalendarDatePicker Style="{StaticResource CalendarDatePickerStyle}"> 
    <CalendarDatePicker.Resources> 
     <SolidColorBrush x:Key="CalendarDatePickerCalendarGlyphForeground" Color="{StaticResource PrimaryColor}"/> 
    </CalendarDatePicker.Resources> 
</CalendarDatePicker> 

Теперь мне нужно повторно использовать этот код, создавая общий стиль, в моем проекте стилей файла, чтобы использовать в других CalendarDatePicker в моем проекте, как это:

<Style x:Key="CalendarDatePickerStyle" TargetType="CalendarDatePicker">   
     <Setter .... 
</Style> 

Как я должен это сделать с сеттером?

И если я хотел применить общий стиль для всех календарей проектов, не вводя каждый стиль календаря = {StaticResource ...}, как мне определить этот стиль?

+0

Буквально возьмите этот ресурс 'SolidColorBrush' и выбросьте его в свой ресурсный словарь (сохраняйте имя x: Key одинаковым), чтобы он переопределялся как значение по умолчанию в порядке наследования. Нет необходимости в стиле шаблона amigo. –

ответ

4

Вы можете напрямую добавить определение SolidColorBrush в свои ресурсы App.xaml и переопределить стиль по умолчанию. Главное - использовать тот же Ключ, которым пользуется элемент управления.

Так, например, чтобы переопределить CalendarDatePickerCalendarGlyphForeground с вашим собственным цветом в каждом CalendarDatePicker, сделать App.xaml выглядеть следующим образом:

<Application 
x:Class="App1.App" 
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" 
xmlns:local="using:App1" 
RequestedTheme="Light"> 

<Application.Resources> 
    <SolidColorBrush x:Key="CalendarDatePickerCalendarGlyphForeground" Color="Green"/> 
</Application.Resources> 

Здесь more info о контролей стайлинга в UWP.

+0

Ya like that ... +1 –

+0

Я пытался добавить в свой файл стилей «CalendarDatePicker.Resources» и внутри, в некотором роде, свойство CalendarDatePickerCalendarGlyphForeground, а не напрямую без тега «CalendarDatePicker.Resources». Новички ... Thx! – CarlosTI