更改 WPF 中 Material Design DatePicker 的外观

Change the appearence of the MaterialDesign DatePicker in WPF

我正在使用 WPF

是否可以编辑 DatePicker 的整个模板? 我想更改一些颜色,但找不到此属性的位置

我试过使用下一个代码,但它只更改显示日期的容器,我还想更改文本框、悬停日期等的颜色。

<DatePicker>
            <DatePicker.CalendarStyle>
                <Style TargetType="Calendar" BasedOn="{StaticResource MaterialDesignCalendarPortrait}">
                    <Style.Resources>
                        <SolidColorBrush x:Key="PrimaryHueMidBrush" Color="#373A6B" />
                    </Style.Resources>
                </Style>
            </DatePicker.CalendarStyle>
        </DatePicker>

先谢谢你:)

Is it possible to edit the entire template for the DatePicker?

当然可以。您可以将 original one 复制到您的 XAML 标记中并根据您的要求进行编辑。

查看模板的定义方式,您会发现它们引用了您可以覆盖的资源。例如,鼠标悬停在画笔上由 PrimaryHueDarkBrush:

定义
<DatePicker>
    <DatePicker.CalendarStyle>
        <Style TargetType="Calendar" BasedOn="{StaticResource MaterialDesignCalendarPortrait}">
            <Style.Resources>
                <SolidColorBrush x:Key="PrimaryHueMidBrush" Color="Red" />
                <SolidColorBrush x:Key="PrimaryHueDarkBrush" Color="Green" />
            </Style.Resources>
        </Style>
    </DatePicker.CalendarStyle>
</DatePicker>