欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

XAML 样式设定(4种)

程序员文章站 2022-06-08 15:08:26
...

类似于Html,适用就近原则

1. 内联样式

通过更改指定标签的属性更改样式,仅适用于指定标签自身。

<TextBlock Height="30" FontSize="16" HorizontalAlignment="Left" Margin="162,109,0,0" TextWrapping="Wrap" Text="TextBlock" VerticalAlignment="Top"/>

2. 页面样式

在页面跟节点中定义,能够控制整个页面的样式
注意:
①Resources中的唯一标识用【X:Key=""】,用于前台;而控件中用的是【name=""】或【X:Name】用于后台。
②如果没有设置【X:Key】,则该样式应用于整个页面,如果设置了【X:Key】,则需要用【Style="{StaticResource 样式名}】来指定使用的样式。

<Page x:Class="WpfBrowserApp2.Page1"
      xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
      xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
      xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" 
      xmlns:d="http://schemas.microsoft.com/expression/blend/2008" 
      xmlns:local="clr-namespace:WpfBrowserApp2"
      mc:Ignorable="d" 
      d:DesignHeight="450" d:DesignWidth="800"
      Title="Page1">
    <Page.Resources>
        <!--页面跟节点中定义-->
        <Style TargetType="TextBlock">
            <!--TargetType属性必须指定-->
            <Setter Property="FontSize" Value="50"></Setter>
            <Setter Property="FontStyle" Value="Italic"></Setter>
        </Style>
        <Style TargetType="TextBlock" x:Key="myStyle"><!--x:Key 设置样式名称-->
            <Setter Property="FontSize" Value="50"></Setter>
            <Setter Property="FontStyle" Value="Italic"></Setter>
        </Style>
    </Page.Resources>
    <Grid>
        <TextBlock Height="92" HorizontalAlignment="Left" Margin="162,109,0,0" TextWrapping="Wrap" Text="TextBlock" VerticalAlignment="Top" Width="277"/>
        <TextBlock Height="92" Style="{StaticResource myStyle}" HorizontalAlignment="Left" Margin="162,267,0,0" TextWrapping="Wrap" Text="TextBlock2" VerticalAlignment="Top" Width="277"/>
    </Grid>
</Page>

3. 全局样式

在【App.xaml】文件中进行样式的定义

<Application x:Class="WpfBrowserApp2.App"
             xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
             xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
             xmlns:local="clr-namespace:WpfBrowserApp2"
             StartupUri="Page1.xaml">
    <Application.Resources>
        <Style TargetType="TextBox"><!--也可以使用X:Key-->
            <Setter Property="Background" Value="Red"></Setter>
        </Style>
    </Application.Resources>
</Application>

4. 资源文件样式

添加资源文件:项目右键 - 添加资源文件

<ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
                    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
                    xmlns:local="clr-namespace:WpfBrowserApp2">
    <Style TargetType="Button">
        <Setter Property="FontSize" Value="16"></Setter>
        <Setter Property="FontStyle" Value="Italic"></Setter>
    </Style>
</ResourceDictionary>

调用方法

<Page.Resources>
    <ResourceDictionary>
        <ResourceDictionary.MergedDictionaries>
            <ResourceDictionary Source="Dictionary1.xaml"/>
        </ResourceDictionary.MergedDictionaries>
    </ResourceDictionary>
</Page.Resources>
<Grid>
    <Button Content="Button" HorizontalAlignment="Left" Margin="590,302,0,0" VerticalAlignment="Top" Width="75"/>
</Grid>
相关标签: XAML