看下面代码:
<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>