Premiers pas avec les bases de WPF
Bases des ressources Class8
Avant-propos : Facilite la gestion centralisée de diverses ressources et effets dynamiques.
Référence statique : Le style est déterminé lors de l'initialisation et ne changera pas par la suite.
Référence dynamique : Le style change en même temps que le contenu référencé.
1. 资源字典.xaml
Créez une nouvelle ressource de couleur de bordure MyBrush
et un bouton. style.
<ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
<Style x:Key="DefaultButtonStyle" TargetType="Button">
<Setter Property="Foreground" Value="Red"></Setter>
<Setter Property="FontSize" Value="15"></Setter>
</Style>
<SolidColorBrush x:Key="MyBrush" Color="Yellow"/>
</ResourceDictionary>
2. App.xaml
Introduisez le dictionnaire de ressources dans
<Application.Resources>
<!--引入资源字典-->
<ResourceDictionary>
<ResourceDictionary.MergedDictionaries>
<ResourceDictionary Source="Resources/ButtonStyle.xaml"></ResourceDictionary>
</ResourceDictionary.MergedDictionaries>
</ResourceDictionary>
</Application.Resources>
3. Créez-en un nouveau页面.xaml
<Window x:Class="WPF_Learn.Class_10_资源基础"
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:WPF_Learn"
mc:Ignorable="d"
Title="Class_10_资源基础" Height="450" Width="800">
<!--在App.xaml里面引入资源字典-->
<Grid>
<StackPanel>
<Button Content="点击我触发Test_Click" Click="Test_Click" Style="{
StaticResource DefaultButtonStyle}"></Button>
<Button Content="静态引用,不会发生改变" Margin="0,5,0,5" BorderBrush="{StaticResource MyBrush}"></Button>
<Button Content="动态引用,点击按钮MyBrush改变后样式跟着改变" BorderBrush="{DynamicResource MyBrush}"></Button>
</StackPanel>
</Grid>
</Window>
private void Test_Click(object sender, RoutedEventArgs e)
{
// 资源的动态改变 静态引用在初始化的时候固定
this.Resources["MyBrush"] = new SolidColorBrush(Colors.Blue);
//寻找资源字典
//var solidColor = App.Current.FindResource("SolidColor");
//var style = App.Current.FindResource("DefaultButtonStyle");
}