2013-06-27 39 views
1

我已经根据Calendar控件创建了一个自定义Usercontrol。我想用一个datepicker内该日历的弹出式控件,虽然它不是因此风格:在DatePicker中定制WPF日历

CalendarStyle="{StaticResource customCalendar}" 

不工作。 有没有办法做到这一点,而不必创建一个完整的自定义DatePicker?

+0

您想要更改'DatePicker'中日历的'Style'? –

+0

我创建了一个包含额外按钮和一个stackPanel的日历。我使用自定义控件来完成此操作。如果有一种方法可以做到这一点,我会乐意做到这一点,但我不知道如何。 – CThin

+0

要准确地显示您的自定义控件的代码。如果日历风格是“正常”,则设置没有问题。 –

回答

1

我找到了一个解决方案,我实际上可以轻松地使用样式来做到这一点。

  <Style x:Key="CustomCalendar" TargetType="Calendar"> 
     <Setter Property="Template"> 
      <Setter.Value> 
       <ControlTemplate TargetType="{x:Type Calendar}"> 
        <StackPanel HorizontalAlignment="Center" Name="PART_Root" Background="LightGray"> 
         <CalendarItem Background="{TemplateBinding Control.Background}" BorderBrush="{TemplateBinding Control.BorderBrush}" BorderThickness="{TemplateBinding Control.BorderThickness}" Name="PART_CalendarItem" Style="{TemplateBinding Calendar.CalendarItemStyle}"/> 
         . 
         . 
         . 
         . 
         . 
        </StackPanel> 
       </ControlTemplate> 
      </Setter.Value> 
     </Setter> 
    </Style> 

然后放置我希望在堆栈面板中使用的所有其他控件。