WPF DatePicker 的奇怪外观
Posted
技术标签:
【中文标题】WPF DatePicker 的奇怪外观【英文标题】:Strange appearance of WPF DatePicker 【发布时间】:2013-07-07 15:54:07 【问题描述】:在 .NET 4.0 上的 WPF 应用程序中,我在水平的 StackPanel
中使用了两个 DatePicker
s 和两个 TextBlock
s,它看起来像这样:
在左侧DatePicker
,我尝试了更大的字体大小。除此之外,没有特殊的设置或样式。
按钮与TextBlock
s 对齐,但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。 【参考方案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"
的建议,但这也无济于事。文本仍然未对齐。是的,我正在使用TextBlock
s(见我帖子的第一句话)
我看不出是什么原因造成的。在日期选择器上设置 VerticalContentAlignment 对我有用。 xaml 代码中可能还有其他内容。设置它背后的代码是否有任何属性?该堆栈面板在任何容器内?以上是关于WPF DatePicker 的奇怪外观的主要内容,如果未能解决你的问题,请参考以下文章
WPF DatePicker IsEnabled 属性不改变外观