WPF中样式的定义及运用

<Window x:Class="WpfApplication1.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:WpfApplication7"
        mc:Ignorable="d"
        Title="MainWindow" Height="350" Width="525">
    <Window.Resources>
        <Style x:Key="BigFontButton">
            <Style.Setters>
                <Setter Property="Control.FontFamily" Value="Times New Roman"></Setter>
                <Setter Property="Control.FontSize" Value="32"></Setter>
            </Style.Setters>
            <Style.Triggers>               
                <Trigger Property="Control.IsFocused" Value="True">
                    <Setter Property="Control.Foreground" Value="DarkBlue"></Setter>                    
                </Trigger>
                <Trigger Property="Button.IsPressed" Value="True">
                    <Setter Property="Control.Foreground" Value="Red"></Setter>
                </Trigger>                
            </Style.Triggers>
        </Style>
        <Style x:Key="MouseOverHighLight" BasedOn="{StaticResource BigFontButton}">
            <EventSetter Event="FrameworkElement.MouseEnter" Handler="element_MouseEnter"></EventSetter>
            <EventSetter Event="FrameworkElement.MouseLeave" Handler="element_MouseLeave"></EventSetter>
        </Style>
        <Style TargetType="Button" BasedOn="{StaticResource BigFontButton}">
            <Setter Property="Control.Background" Value="Aqua"></Setter>
            <Style.Triggers>
                <MultiTrigger>
                    <MultiTrigger.Conditions>
                        <Condition Property="Control.IsFocused" Value="True"></Condition>
                        <Condition Property="Control.IsMouseOver" Value="True"></Condition>
                    </MultiTrigger.Conditions>
                    <MultiTrigger.Setters>
                        <Setter Property="Control.Foreground" Value="Red"></Setter>
                    </MultiTrigger.Setters>
                </MultiTrigger>
            </Style.Triggers>
        </Style>
    </Window.Resources>
    <Grid>
        <StackPanel >
            <GroupBox Header="GroupBox"  Margin="10" VerticalAlignment="Top" >
                <PasswordBox Margin="5" Height="23" PasswordChar="*"/>
            </GroupBox>
            <Image Source="Images/1.png" Width="20"></Image>
            <Button Content="Button" Style="{StaticResource BigFontButton}" Margin="5" Name="button1"></Button>
            <TextBlock Padding="5" Style="{StaticResource MouseOverHighLight}">Hover over me</TextBlock>
            <Button>Confirm</Button>
            <Button Style="{x:Null}">Cancle</Button>
        </StackPanel>
    </Grid>
</Window>
 

猜你喜欢

转载自blog.csdn.net/QuVi_God/article/details/89396377
今日推荐