在win8开发中,我们的界面上有很多控件,比如按钮和文本,很多时候为了界面的统一,这些控件都会具有统一的风格,如果我们不对控件设定一些自定义的风格的话,将会使用系统默认的风格。
下面来讲一下,如何给一个文本设定一种风格,并将它应用到其他的文本上,要使我们设定的风格在其他的xaml文件中也能够用到,我们可以在App.xaml文件中进行定义。如下:
- <Application
- x:Class="stylecontrol.App"
- xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
- xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
- xmlns:local="using:stylecontrol"
- RequestedTheme="Light">
- <Application.Resources>
- <ResourceDictionary>
- <ResourceDictionary.MergedDictionaries>
- <!--
- Styles that define common aspects of the platform look and feel
- Required by Visual Studio project and item templates
- -->
- <ResourceDictionary Source="Common/StandardStyles.xaml"/>
- </ResourceDictionary.MergedDictionaries>
- <Style x:Key="BigGreenTextStyle" TargetType="TextBlock">
- <Setter Property="Foreground" Value="Green"/>
- <Setter Property="FontSize" Value="36"/>
- <Setter Property="FontFamily" Value="{StaticResource ContentControlThemeFontFamily}"/>
- <Setter Property="TextTrimming" Value="WordEllipsis"/>
- <Setter Property="TextWrapping" Value="Wrap"/>
- <Setter Property="Typography.StylisticSet20" Value="True"/>
- <Setter Property="Typography.DiscretionaryLigatures" Value="True"/>
- <Setter Property="Typography.CaseSensitiveForms" Value="True"/>
- </Style>
- </ResourceDictionary>
- </Application.Resources>
- </Application>
这里说明我们要设定风格的目标控件是:"TextBlock"风格的名称是:"BigGreenTextStyle"这样我们就可以将此风格应用到其他xaml文件中的 TextBlock控件当中去了。如下:
- <StackPanel Grid.Row="1" Margin="120,30,0,0">
- <TextBlock Text="What's your name?" Style="{StaticResource BigGreenTextStyle}"/>
- <StackPanel Orientation="Horizontal" Margin="0,20,0,20">
- <TextBox x:Name="nameInput" Width="300" HorizontalAlignment="Left"/>
- <Button Content="Say "Hello"" Click="button_click"/>
- </StackPanel>
- <TextBlock x:Name="greetingOutput" Style="{StaticResource BigGreenTextStyle}"/>
- </StackPanel>
转载于:https://blog.51cto.com/qsjming/1020250