XAML 如何在使用WinUI3的日历视图中设置标题的字体大小?

gg0vcinb  于 2023-08-01  发布在  其他
关注(0)|答案(1)|浏览(129)


的数据
我想扩大标题部分的大小。

<StackPanel HorizontalAlignment="Center" VerticalAlignment="Center">
        <CalendarView
            Width="600"
            Height="600"
            DayItemFontSize="40"
            FirstOfMonthLabelFontSize="40"
            FirstOfYearDecadeLabelFontSize="40"
            MonthYearItemFontSize="40"
            FontSize="40"
            >
        </CalendarView>
    </StackPanel>

字符串
我已经尝试调整几乎所有的设置大小选项,但我仍然找不到哪一个可以改变大小的标题

vnzz0bqm

vnzz0bqm1#

没有直接的方法可以做到这一点。下面我用CommunityToolkit.WinUI.UINuGet包中的FindDescendants()扩展方法给您演示一个例子。

private void MainPage_Loaded(object sender, RoutedEventArgs e)
{
    SetHeaderButtonFontSize(40);
    SetWeekDayNamesFontSize(40);
}

private void SetHeaderButtonFontSize(double fontSize)
{
    if (this.CalendarViewControl
        .FindDescendants()
        .OfType<Button>()
        .Where(x => x.Name == "HeaderButton")
        .FirstOrDefault() is not Button headerButton)
    {
        return;
    }

    headerButton.FontSize = fontSize;
}

private void SetWeekDayNamesFontSize(double fontSize)
{
    if (this.CalendarViewControl
        .FindDescendants()
        .OfType<Grid>()
        .Where(x => x.Name == "WeekDayNames")
        .FirstOrDefault() is not Grid weekDayNamesGrid)
    {
        return;
    }

    foreach (TextBlock child in weekDayNamesGrid.Children.OfType<TextBlock>())
    {
        child.FontSize = fontSize;
    }
}

字符串

相关问题