WPF Style設置和模板化Template


WPF樣式設置和模板化是一套功能(樣式,模板,觸發器和演示圖版),可以為產品設置統一外觀。類似於html的css,可以快速的設置一系列屬性值到控件。

 

案例:ButtonStyle

這里創建了一個目標類型為Button的基礎ButtonStyle,其他的Button就可以繼承SystemButtonBase,可以統一基礎的Style,根據需求設置需要的屬性值,登錄按鈕可以使用StaticResource的方式查找到這個style。

 1 <Style x:Key="SystemButtonBase" TargetType="ButtonBase">
 2         <Setter Property="Background" Value="Transparent"/>
 3         <Setter Property="BorderThickness" Value="0"/>
 4         <Setter Property="HorizontalContentAlignment" Value="Center"/>
 5         <Setter Property="VerticalContentAlignment" Value="Center"/>
 6         <Setter Property="Cursor" Value="Hand"/>
 7         <Setter Property="Padding" Value="1"/>
 8         <Setter Property="Template">
 9             <Setter.Value>
10                 <ControlTemplate TargetType="{x:Type ButtonBase}">
11                     <Border Name="Chrome"
12                                 Background="{TemplateBinding Background}"
13                                 BorderThickness="{TemplateBinding BorderThickness}"
14                                 BorderBrush="{TemplateBinding BorderBrush}"
15                                 SnapsToDevicePixels="true"
16                                 CornerRadius="5">
17                         <ContentPresenter Margin="{TemplateBinding Padding}"
18                                               VerticalAlignment="{TemplateBinding VerticalContentAlignment}"
19                                               HorizontalAlignment="{TemplateBinding HorizontalContentAlignment}"
20                                               RecognizesAccessKey="True"
21                                               SnapsToDevicePixels="{TemplateBinding SnapsToDevicePixels}"/>
22                     </Border>
23                 </ControlTemplate>
24             </Setter.Value>
25         </Setter>
26         <Style.Triggers>
27             <Trigger Property="IsEnabled" Value="false">
28                 <Setter Property="Cursor" Value="Arrow" />
29             </Trigger>
30         </Style.Triggers>
31     </Style>
32     <Style TargetType="Button" BasedOn="{StaticResource SystemButtonBase}" x:Key="BtnStyle">
33         <Setter Property="Background" Value="#09a3dc"/>
34         <Setter Property="Foreground" Value="#ffffff"/>
35         <Setter Property="MinHeight" Value="28"/>
36         <Setter Property="MinWidth" Value="70"/>
37         <Style.Triggers>
38             <Trigger Property="IsMouseOver" Value="True">
39                 <Setter Property="Background" Value="#3cc3f5"/>
40             </Trigger>
41             <Trigger Property="IsPressed" Value="True">
42                 <Setter Property="Background" Value="#098cbc" />
43             </Trigger>
44             <Trigger Property="IsEnabled" Value="false">
45                 <Setter Property="Background" Value="#e1e1e1" />
46                 <Setter Property="Foreground" Value="#7e7e7e" />
47             </Trigger>
48         </Style.Triggers>
49     </Style>

 

簡單引用

1 <Button Content="登錄" Height="30" Margin="0"  Width="115" Style="{StaticResource BtnStyle}"/>

 

 

這個就是介紹的WPF的Style的簡短文字

希望和大家多多的交流溝通,共同進步。 謝謝!

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM