BaseOn,Style=“{x:Null}“,Trigger

 1.BaseOn是用于样式的继承;

 2.Style="{x:Null}"是指不采用任何样式;

3.Trigger:包括单条件的触发Trigger,多条件的触发MultiTrigger,事件触发EventTrigger;

<Window.Resources>
        <Style x:Key="BigFontButtonStyle">
            <Setter Property="TextBlock.FontSize" Value="18"/>
            <Setter Property="Control.FontWeight" Value="Bold"/>
            <Setter Property="Button.Content" Value="你好"/>
            <Style.Triggers>
                <EventTrigger RoutedEvent="Mouse.MouseEnter">
                    <EventTrigger.Actions>
                        <BeginStoryboard>
                            <Storyboard>
                                <DoubleAnimation Duration="0:0:0:2" To="48" Storyboard.TargetProperty="FontSize"/>
                            </Storyboard>
                        </BeginStoryboard>
                    </EventTrigger.Actions>
                </EventTrigger>
                <EventTrigger RoutedEvent="Mouse.MouseLeave">
                    <EventTrigger.Actions>
                        <BeginStoryboard>
                            <Storyboard>
                                <DoubleAnimation Duration="0:0:0:2" To="18" Storyboard.TargetProperty="FontSize"/>
                            </Storyboard>
                        </BeginStoryboard>
                    </EventTrigger.Actions>
                </EventTrigger>
            </Style.Triggers>
        </Style>
        <Style TargetType="Button" BasedOn="{StaticResource BigFontButtonStyle}">
            <Setter Property="Control.Background" Value="AliceBlue"/>
            <Style.Triggers>
                <Trigger Property="Button.IsPressed" Value="true">
                    <Setter Property="Button.Foreground" Value="Azure"/>
                </Trigger>
            </Style.Triggers>
        </Style>
        <Style x:Key="textboxStyle">
            <Setter Property="Control.Width"  Value="100"/>
            <Setter Property="Control.Height" Value="50"/>
            <Style.Triggers>
                <MultiTrigger>
                    <MultiTrigger.Conditions>
                        <Condition Property="TextBox.IsFocused" Value="true"/>
                        <Condition Property="TextBox.IsMouseOver" Value="true"/>
                    </MultiTrigger.Conditions>
                    <MultiTrigger.Setters>
                        <Setter Property="TextBox.Text" Value="请输入"/>
                    </MultiTrigger.Setters>
                </MultiTrigger>
               
            </Style.Triggers>
        </Style>
    </Window.Resources>
    <Grid>
        <UniformGrid >
            <Button Width="50" Height="50" Style="{x:Null}" />
            <Button Width="50" Height="50"/>
            <Button Width="50" Height="50"/>
            <Button Width="50" Height="50"/>
            <TextBox Style="{StaticResource textboxStyle}"  />
        </UniformGrid>
    </Grid>

猜你喜欢

转载自blog.csdn.net/qq_41617901/article/details/109689366
今日推荐