【问题标题】:How to increase the font size of the date that is selected on a CalendarDatePicker如何增加在 CalendarDatePicker 上选择的日期的字体大小
【发布时间】:2018-08-13 07:34:56
【问题描述】:

我的 UWP 应用上有一个 CalendarDatePicker 控件。我无法增加使用 FontSize 属性选择的日期的字体大小。

如何在不覆盖大量样式的情况下轻松做到这一点?

这是我的基本代码:

<Page
    x:Class="CalendarPickerExample.MainPage"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    xmlns:local="using:CalendarPickerExample"
    xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
    xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
    mc:Ignorable="d">

    <Grid Background="{ThemeResource ApplicationPageBackgroundThemeBrush}">
        <CalendarDatePicker FontSize="30" />
    </Grid>

</Page>

无论我在CalendarDatePicker上设置FontSize属性是什么大小,所选日期的字体大小都不会增加。

请帮忙!

【问题讨论】:

    标签: xaml datepicker uwp windows-10-universal


    【解决方案1】:

    您可以使用 Live Visual Tree 工具检查控件的属性,如果您想更改内部 TextBlock 的大小:

    可以修改TextBlock字号复制默认样式https://msdn.microsoft.com/en-us/library/windows/apps/mt299110.aspx

    如您所见,在默认模板中它被硬编码为 15:

    <TextBlock x:Name="DateText"
                       HorizontalAlignment="Left"
                       Foreground="{ThemeResource SystemControlForegroundBaseMediumBrush}"
                       Text="{TemplateBinding PlaceholderText}"
                       Grid.Row="1"
                       FontSize="15"
                       Padding="12, 0, 0, 2"
                       VerticalAlignment="Center" />
    

    【讨论】:

    • 谢谢!但是我怎样才能在代码上轻松地覆盖这个属性呢?
    • 我认为最干净的方法是覆盖控件的样式。因此,您从上面的链接中复制默认 XAML 并将其粘贴到您的页面资源中,例如:&lt;Page.Resources&gt; &lt;Style x:Key="CustomCalendarDatePickerStyle" TargetType="CalendarDatePicker"&gt; 您以新样式修改 TextBlock 上的字体大小,并引用控件中的样式:&lt;CalendarDatePicker Style="{StaticResource CustomCalendarDatePickerStyle}" /&gt;
    • 谢谢!这行得通。我选择了这个答案,因为它后面的代码为零,即使有很多 xaml 要添加:)
    • 您能否也看看我遇到的其他问题? stackoverflow.com/questions/49161273/…
    【解决方案2】:

    您可以使用 UWP 社区工具包中的 Visual Tree Extensions 按名称或类型获取文本框控件并修改其 FontSize 属性:

     <CalendarDatePicker x:Name="Calender"/>
    

    -

     Calender.FindDescendantByName("DateText").FontSize = 30;
    

    【讨论】:

    • 再次感谢您的另一个回答!我选择了@handsomegreg 的答案,因为那根本没有代码。还是谢谢你们!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-04-03
    • 1970-01-01
    • 2012-11-07
    • 2021-11-26
    • 1970-01-01
    • 2017-05-10
    相关资源
    最近更新 更多