wpf之样式

 看下面代码:

<Window x:Class="MyWpf.MainWindow"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
        xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
      xmlns:local="clr-namespace:MyWpf"
        mc:Ignorable="d" 
        Title="MainWindow" Height="250" Width="500">
    <Grid  >
        <Button Content="Button" Foreground="Red" HorizontalAlignment="Left" Margin="223,20,0,0" VerticalAlignment="Top" Width="75"/>
        <Button Content="Button"  Foreground="Red" HorizontalAlignment="Left" Margin="223,65,0,0" VerticalAlignment="Top" Width="75"/>
        <Button Content="Button"   Foreground="Red" HorizontalAlignment="Left" Margin="223,110,0,0" VerticalAlignment="Top" Width="75"/>
       
    </Grid>
</Window>

 

界面:

 

上面代码中Button标签中属性的值都是一样的,重复的,所以我们可以用下面方法来做更改,下面还展示了继承的用法:

<Window x:Class="MyWpf.MainWindow"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
        xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
      xmlns:local="clr-namespace:MyWpf"
        mc:Ignorable="d" 
        Title="MainWindow" Height="250" Width="500">
    <Window.Resources>
        <!--表示这个样式只针对于Button标签,这个样式的key值是BaseStyle,
        -->
        <Style TargetType="Button" x:Key="BaseStyle">
            <Setter Property="Foreground" Value="Red"></Setter>
            <Setter Property="HorizontalAlignment" Value="Left"></Setter>
            <Setter Property="VerticalAlignment" Value="Top"></Setter>
            <Setter Property="Width" Value="75"></Setter>
        </Style>
        <!--表示这个样式继承于BaseStyle-->
        <Style x:Key="style1" TargetType="Button" BasedOn="{StaticResource ResourceKey=BaseStyle}" >
            <Setter Property="Content" Value="hello"></Setter>
        </Style>
    </Window.Resources> 
    <Grid>
        <Button Style="{StaticResource ResourceKey=style1}"   Margin="223,20,0,0"   />
        <Button Style="{StaticResource ResourceKey=style1}"  Margin="223,65,0,0" />
        <Button Style="{StaticResource ResourceKey=style1}"   Margin="223,110,0,0"  />

    </Grid>
</Window>

 

posted @ 2021-10-24 22:53  安静点--  阅读(30)  评论(0)    收藏  举报