2016-02-07 4 views
0

Я пытаюсь применить стиль календаря, но он не применяется.Как применить стиль календаря в WPF?

<DatePicker Grid.Column="1" Margin="5" Background="Transparent" 
      CalendarStyle="{StaticResource CalenderStyle1}"/> 

Стиль

<Style x:Key="CalenderStyle1" TargetType="{x:Type Calendar}"> 
    <Setter Property="Foreground" Value="Red"/> 
    <Setter Property="Background" Value="White"/> 

    <Setter Property="BorderBrush"> 
     <Setter.Value> 
      <LinearGradientBrush EndPoint="0.5,1" StartPoint="0.5,0"> 
       <GradientStop Color="#FFA3AEB9" Offset="0"/> 
       <GradientStop Color="#FF8399A9" Offset="0.375"/> 
       <GradientStop Color="#FF718597" Offset="0.375"/> 
       <GradientStop Color="#FF617584" Offset="1"/> 
      </LinearGradientBrush> 
     </Setter.Value> 
    </Setter> 
    <Setter Property="BorderThickness" Value="1"/> 
    <Setter Property="Template"> 
     <Setter.Value> 
      <ControlTemplate TargetType="{x:Type Calendar}"> 
       <StackPanel x:Name="PART_Root" HorizontalAlignment="Center"> 
        <CalendarItem x:Name="PART_CalendarItem" BorderBrush="{TemplateBinding BorderBrush}" BorderThickness="{TemplateBinding BorderThickness}" Background="{TemplateBinding Background}" Style="{StaticResource CalendarItemStyle1}"/> 
       </StackPanel> 
      </ControlTemplate> 
     </Setter.Value> 
    </Setter> 
</Style> 

Стиль был применен с UI. Есть ли ошибка в моем коде? Почему стиль не применялся?

+1

Опубликовать xaml-код CalendarItemStyle1 – Usama

ответ

0
  1. Удалить фоновое свойство из вашего тега DatePicker.
  2. Добавить BorderThickness либо DatePicker тег, либо Style.