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的簡短文字
希望和大家多多的交流溝通,共同進步。 謝謝!