【问题标题】:Strange appearance of WPF DatePickerWPF DatePicker 的奇怪外观
【发布时间】:2013-07-07 15:54:07
【问题描述】:

在 .NET 4.0 上的 WPF 应用程序中,我在水平的 StackPanel 中使用了两个 DatePickers 和两个 TextBlocks,它看起来像这样:

在左侧DatePicker,我尝试了更大的字体大小。除此之外,没有特殊的设置或样式。

按钮与TextBlocks 对齐,但DatePicker 中的文本不是。

知道如何更改日期文本的对齐方式吗?

编辑:这是我的 XAML:

    <StackPanel Orientation="Horizontal"
                HorizontalAlignment="Right" VerticalAlignment="Bottom"
                >
        <TextBlock Text="from " />
        <DatePicker SelectedDate="{Binding FromDate, Mode=TwoWay}" FontSize="14" />
        <TextBlock Text=" until " />
        <DatePicker SelectedDate="{Binding ToDate, Mode=TwoWay}" />
    </StackPanel>

【问题讨论】:

  • 你能发布你的 xaml。

标签: wpf .net-4.0 datepicker


【解决方案1】:

感谢 Jorge,这是 App.xaml 中的 Button 样式:

    <Style TargetType="{x:Type Button}">
        <Setter Property="Margin" Value="0 5 10 5" />
    </Style>

这种样式也适用于DatePicker 内部的按钮。

【讨论】:

    【解决方案2】:

    假设您正在使用文本块,那么您可以尝试这样的事情。

        <StackPanel Orientation="Horizontal" Height="40" Margin="10">
            <Border Background="Transparent" BorderBrush="#FF2A2A89" BorderThickness="2">
            <TextBlock Width="150" Text="Testing" TextAlignment="Center"
                       VerticalAlignment="Center" />
            </Border>
            <DatePicker VerticalContentAlignment="Center" Name="datepicker" />
        </StackPanel>
    

    内容真的只是为了演示。你应该得到这样的东西:

    但是,如果您只是显示日期,为什么不使用默认设置的日期选择器呢?默认显示选择的日期。

    另一种方法是,您可以使用文本框而不是文本块并将 IsReadOnly 设置为 真的。我假设您正在使用文本块,因此它们不可编辑。使用文本框,您可以设置 VerticalContentAlignment="Center" 就是这样。

    【讨论】:

    • 谢谢,我尝试了您关于VerticalContentAlignment="Center" 的建议,但这也无济于事。文本仍然未对齐。是的,我正在使用TextBlocks(见我帖子的第一句话)
    • 我看不出是什么原因造成的。在日期选择器上设置 VerticalContentAlignment 对我有用。 xaml 代码中可能还有其他内容。设置它背后的代码是否有任何属性?该堆栈面板在任何容器内?
    猜你喜欢
    • 2021-10-11
    • 1970-01-01
    • 2017-07-15
    • 1970-01-01
    • 1970-01-01
    • 2021-08-30
    • 2011-02-07
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多