DatePicker 中 Date 的垂直对齐方式

Vertical alignment of Date in DatePicker

我在 WPF 中使用 DatePicker,并希望将文本垂直对齐到 DatePicker 的中心。

除了自己编写 DatePicker 之外,还有什么方法可以做到这一点吗? 提前致谢。

编辑:

我个人认为,如果将字体大小保持为 12 并对 DatePickers LayoutTransform 应用缩放,则效果会更好,而我的第二个选择是将整个内容模板化。不过,要回答您的问题,一个快速简便的解决方案是在父 window/control 的构造函数中添加一个 Loaded 处理程序:

public MainWindow()
{
    InitializeComponent();
    theDatePicker.Loaded += TheDatePicker_Loaded;
}

然后在处理程序中覆盖按钮的垂直对齐方式:

private void TheDatePicker_Loaded(object sender, RoutedEventArgs e)
{
    var button = theDatePicker.Template.FindName("PART_Button", theDatePicker) as Button;
    button.VerticalAlignment = VerticalAlignment.Center;
}

在 XAML 中尝试将样式添加到 DatePickerDatePickerTextBox 它应该可以工作。

<DatePicker Width="200" VerticalAlignment="Center" Height="45" Background="White"
            FontSize="8" VerticalContentAlignment="Center">

    <DatePicker.Resources>
        <Style TargetType="DatePickerTextBox">
            <Setter Property="VerticalAlignment" Value="Center" />
        </Style>
    </DatePicker.Resources>

</DatePicker>