欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

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

程序员文章站 2022-06-08 16:29:30
...

找了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>设置触发的表现内容。

相关标签: WPF XAML xaml