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