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

 1.BaseOnはスタイルの継承に使用されます。

 2. Style = "{x:Null}"は、スタイルが使用されていないことを意味します。

3.トリガー:単一条件トリガートリガー、複数条件トリガー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