新建资源文件
写资源文件
<ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:local="clr-namespace:WpfDemo.Style"> <Style TargetType="Button" x:Key="MyStyleButton"> <Setter Property="Background" Value="Pink">Setter> Style>ResourceDictionary>
引用资源
在独立的窗口/用户控件中引用
<Window x:Class="WpfDemo.Style.UseResourceDictionaryDemo" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:d="http://schemas.microsoft.com/expression/blend/2008" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" xmlns:local="clr-namespace:WpfDemo.Style" mc:Ignorable="d" Title="UseResourceDictionaryDemo" Height="300" Width="300"> <Window.Resources> <ResourceDictionary> <ResourceDictionary.MergedDictionaries> <ResourceDictionary Source="MyStyle.xaml">ResourceDictionary> ResourceDictionary.MergedDictionaries> ResourceDictionary> Window.Resources> <Grid> <Button Style="{StaticResource MyStyleButton}">Button> Grid>Window>
在App.xaml中统一引用(全局引用)
<Application x:Class="MAS.App" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" StartupUri="MainWindow.xaml"> <Application.Resources> <ResourceDictionary> <ResourceDictionary.MergedDictionaries> <ResourceDictionary Source="Style/MyStyle.xaml"/> ResourceDictionary.MergedDictionaries> ResourceDictionary> Application.Resources>Application>
小结
写法和写在Resources中一样,只是多了个ResourceDictionary的文件,并需要引用ResourceDictionary文件才能使用Style
示例代码
https://github.com/zLulus/NotePractice/tree/dev3/WPF/WpfDemo/Style 下的MyStyle和UseResourceDictionaryDemo