天天看点

WPF中样式继承和简单的触发器

找了WPF的资料学习,碰到一些零散的知识点,在此记录,以防忘记。

XAML中样式可以继承,用Style的BasedOn属性,下列代码:

<Window.Resources>
        <Style x:Key="fatherStyle" TargetType="Button">
            <Setter Property="Width" Value="100"/>
            <Setter Property="Height" Value="80"/>
            <Setter Property="Background" Value="AliceBlue"/>
            <Style.Triggers>
                <Trigger Property="IsMouseOver" Value="True">
                    <Setter Property="Foreground" Value="Red"/>
                    <Setter Property="FontSize" Value="50"/>
                </Trigger>
            </Style.Triggers>
        </Style>
        <Style x:Key="childStyle" TargetType="Button" BasedOn="{StaticResource fatherStyle}">
            <Setter Property="Background" Value="Black"/>
            <Style.Triggers>
                <MultiTrigger>
                    <MultiTrigger.Conditions>
                        <Condition Property="IsMouseOver" Value="True"/>
                        <Condition Property="IsFoused" Value="True"/>
                    </MultiTrigger.Conditions>
                    <MultiTrigger.Setters>
                        <Setter Property="FontSize" Value="100"/>
                    </MultiTrigger.Setters>
                </MultiTrigger>
                <Trigger Property="IsMouseOver" Value="True">
                    <Setter Property="Foreground" Value="Red"/>
                    <Setter Property="FontSize" Value="50"/>
                </Trigger>
            </Style.Triggers>            
        </Style>
    </Window.Resources>
           

其中Style.Triggers是触发器,直接用Trigger进行简单的事件触发, 为带多个条件的触发器,<MultiTrigger.Conditions>为条件,<MultiTrigger.Setters>设置触发的表现内容。

继续阅读