【WPF】设置全局样式

目的:创建一个资源字典,然后自动引入到各个Window或UserControl中,可以随意使用。

方式:

  1. 创建Style文件夹
  2. 在Style文件夹内创建一个ButtonStyleStyle.xaml的资源字典
    示例如下:
<ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
                    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
    <Style TargetType="Button" x:Key="BtnStyle">
        <Setter Property="Background" Value="Yellow"/>
        <Setter Property="Width" Value="100"/>
        <Setter Property="Height" Value="60"/>
    </Style>
</ResourceDictionary>
  1. 在App.xaml中引入资源字典
    代码示例如下:
    <Application.Resources>
        <ResourceDictionary>
            <ResourceDictionary.MergedDictionaries>
                <!--<ResourceDictionary Source="./Style/BaseButtonStyle.xaml"/>-->
                <ResourceDictionary Source="./Style/ButtonStyle.xaml"/>
            </ResourceDictionary.MergedDictionaries>
        </ResourceDictionary>
    </Application.Resources>

可以引入多个资源字典,即<ResourceDictionary.MergedDictionaries>里面可以有多条。

上面是相对路径引用,也可以绝对路径:
<ResourceDictionary Source="/WpfStudy;component/Style/ButtonStyle.xaml"/>
也可以去掉.的相对路径:
<ResourceDictionary Source="/Style/ButtonStyle.xaml"/>

  1. 在Window界面使用样式
    示例如下:
      <Button Style="{StaticResource BtnStyle}" Content="Hi"/>

总结:也就是可以直接使用Style,而不需要在Window中显式引入Style。

posted @ 2024-03-16 12:54  greencode  阅读(96)  评论(0编辑  收藏  举报