天天看點

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>設定觸發的表現内容。

繼續閱讀