wpf初学者必须了解的样式,属性,触发器,wpf的博大精深可与web相媲美,不多说,上代码,毕竟talk is cheap ,let me show code
<Window x:Class="WpfApp2.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:WpfApp2"
mc:Ignorable="d"
Title="MainWindow" Height="450" Width="800">
<Window.Resources >
<!--简单的属性-->
<Style x:Key="buttonStyle" TargetType="Button">
<Setter Property="Width" Value="100"/>
<Setter Property="Height" Value="50"/>
<Setter Property="Margin" Value="0 20 0 0"/>
</Style>
<!--属性的继承-->
<Style x:Key="buttonStyle2" TargetType="Button" BasedOn="{StaticResource buttonStyle}" >
<Setter Property="Background" Value="Red"/>
</Style>
<!--单条件触发器-->
<Style x:Key="buttonStyle3" TargetType="Button" BasedOn="{StaticResource buttonStyle}" >
<Style.Triggers >
<Trigger Property="IsMouseOver" Value="True">
<Setter Property="FontSize" Value="20"></Setter>
</Trigger>
<Trigger Property="IsFocused" Value="True">
<Setter Property="FontSize" Value="50"></Setter>
</Trigger>
</Style.Triggers>
</Style>
<!--多条件触发器-->
<Style x:Key="buttonStyle4" TargetType="Button" BasedOn="{StaticResource buttonStyle}" >
<Style.Triggers>
<MultiTrigger>
<MultiTrigger.Conditions>
<Condition Property="IsMouseOver" Value="True"></Condition>
<Condition Property="IsFocused" Value="True"></Condition>
</MultiTrigger.Conditions>
<MultiTrigger.Setters >
<Setter Property="Background" Value="Blue"></Setter>
</MultiTrigger.Setters>
</MultiTrigger>
</Style.Triggers>
</Style>
<!--控件模板-->
<ControlTemplate x:Key="buttontemp" TargetType="Button" >
<Border Background="Yellow" Width="100" Height="60" CornerRadius="20" >
<StackPanel Orientation="Horizontal" HorizontalAlignment="Center" VerticalAlignment="Center">
<TextBlock Text="hhh" FontSize="30"></TextBlock>
</StackPanel>
</Border>
</ControlTemplate>
</Window.Resources>
<Grid>
<StackPanel Orientation="Vertical" >
<Button Style="{StaticResource buttonStyle}" Content="Button" HorizontalAlignment="Left" />
<Button Style="{StaticResource buttonStyle2}" Content="Button" HorizontalAlignment="Left" />
<Button Style="{StaticResource buttonStyle3}" Content="Button" HorizontalAlignment="Left" />
<Button Style="{StaticResource buttonStyle4}" Content="Button" HorizontalAlignment="Left" />
<Button Content="Button" HorizontalAlignment="Left" Template="{StaticResource buttontemp}" />
<TextBox HorizontalAlignment="Left" Height="23" Margin="406,323,0,0" TextWrapping="Wrap" Text="{Binding Test }" VerticalAlignment="Top" Width="120"/>
</StackPanel>
</Grid>
</Window>