Search code examples
c#uwpstylesfont-sizeflyout

How can change font size in UWP TimePikcerFlyout?


I want to make the font size of TimePickerFlyout bigger, It's Possible?

UWP TimePickerFlyout


Solution

  • The area that you pointed is LoopingSelector of TimerPicker. And the default font size is 15 in LoopingSelector style like the following.

    <Style TargetType="LoopingSelector">
        <Setter Property="ShouldLoop" Value="True" />
        <Setter Property="UseSystemFocusVisuals" Value="{StaticResource UseSystemFocusVisuals}" />
        <Setter Property="ItemTemplate">
            <Setter.Value>
                <DataTemplate>
                    <StackPanel VerticalAlignment="Center">
                        <TextBlock Text="{Binding PrimaryText}" FontFamily="{ThemeResource ContentControlThemeFontFamily}" FontSize="15" />
                    </StackPanel>
                </DataTemplate>
            </Setter.Value>
        </Setter>
        <Setter Property="Template">
            <Setter.Value>
                <ControlTemplate TargetType="Control">
                    <Grid>
    
                        <VisualStateManager.VisualStateGroups>
                            <VisualStateGroup x:Name="CommonStates">
                                <VisualState x:Name="Normal" />
    
                                <VisualState x:Name="PointerOver">
    
                                    <Storyboard>
                                        <ObjectAnimationUsingKeyFrames Storyboard.TargetName="UpButton" Storyboard.TargetProperty="Visibility">
                                            <DiscreteObjectKeyFrame KeyTime="0" Value="Visible" />
                                        </ObjectAnimationUsingKeyFrames>
                                        <ObjectAnimationUsingKeyFrames Storyboard.TargetName="DownButton" Storyboard.TargetProperty="Visibility">
                                            <DiscreteObjectKeyFrame KeyTime="0" Value="Visible" />
                                        </ObjectAnimationUsingKeyFrames>
                                    </Storyboard>
                                </VisualState>
                            </VisualStateGroup>
    
                        </VisualStateManager.VisualStateGroups>
                        <ScrollViewer x:Name="ScrollViewer"
                    VerticalSnapPointsType="Mandatory"
                    VerticalSnapPointsAlignment="Near"
                    VerticalScrollBarVisibility="Hidden"
                    HorizontalScrollMode="Disabled"
                    ZoomMode="Disabled"
                    Template="{StaticResource ScrollViewerScrollBarlessTemplate}" />
                        <RepeatButton x:Name="UpButton"
                    Content="&#xE70E;"
                    FontFamily="{ThemeResource SymbolThemeFontFamily}"
                    FontSize="8"
                    Height="22"
                    Padding="0"
                    HorizontalAlignment="Stretch"
                    VerticalAlignment="Top"
                    Visibility="Collapsed"
                    Style="{StaticResource DateTimePickerFlyoutButtonStyle}"
                    Background="{ThemeResource LoopingSelectorButtonBackground}"
                    IsTabStop="False" />
                        <RepeatButton x:Name="DownButton"
                    Content="&#xE70D;"
                    FontFamily="{ThemeResource SymbolThemeFontFamily}"
                    FontSize="8"
                    Height="22"
                    Padding="0"
                    HorizontalAlignment="Stretch"
                    VerticalAlignment="Bottom"
                    Visibility="Collapsed"
                    Style="{StaticResource DateTimePickerFlyoutButtonStyle}"
                    Background="{ThemeResource LoopingSelectorButtonBackground}"
                    IsTabStop="False" />
    
                    </Grid>
                </ControlTemplate>
            </Setter.Value>
        </Setter>
    </Style>
    

    If you want to make it more bigger. you just modify the following font size to another value. Then place complete style in <Application.Resources> in the App.xaml file.

    <TextBlock Text="{Binding PrimaryText}" FontFamily="{ThemeResource ContentControlThemeFontFamily}" FontSize="15" />