【问题标题】:Custom WPF Calendar Inside a DatePickerDatePicker 中的自定义 WPF 日历
【发布时间】:2013-06-27 17:53:55
【问题描述】:

我创建了一个基于日历控件的自定义用户控件。我想将此日历用作日期选择器中的弹出控件,尽管它不是一种样式:

    CalendarStyle="{StaticResource customCalendar}"

不起作用。 有没有办法在不必创建整个自定义 DatePicker 的情况下做到这一点?

【问题讨论】:

  • 您要更改日历的Style,在DatePicker
  • 我创建了一个包含额外按钮和 stackPanel 的日历。我使用自定义控件做到了这一点。如果有一种方法可以仅通过样式来做到这一点,我会很乐意这样做,但我也不知道如何做。
  • 准确地说显示你的自定义控件代码。如果日历样式为normal,则设置没有问题。

标签: wpf xaml datepicker custom-controls


【解决方案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>

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-01-18
    • 2017-02-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多