准备windows资源
<Window.Resources>
<SolidColorBrush x:Key="SolidColor" Color="Red" />
</Window.Resources>
控件引用
引用的是资源里面的 Key
,静态资源用的是StaticResource,动态资源用的是DynamicResource.
<Grid>
<StackPanel>
<Button
Margin="10"
Click="Button_Click"
Content="Update" />
<Button
Margin="10"
BorderBrush="{StaticResource SolidColor}"
BorderThickness="3"
Content="Botton1" />
<Button
Margin="10"
BorderBrush="{DynamicResource SolidColor}"
BorderThickness="3"
Content="Botton2" />
</StackPanel>
</Grid>
动态资源的变化
当在主程序里面写了了
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Imaging;
using System.Windows.Navigation;
using System.Windows.Shapes;
namespace WPfTest
{
/// <summary>
/// MainWindow.xaml 的交互逻辑
/// </summary>
public partial class MainWindow : Window
{
public MainWindow()
{
InitializeComponent();
}
private void Button_Click(object sender, RoutedEventArgs e)
{
this.Resources["SolidColor"] = new SolidColorBrush(Colors.Black);
}
}
}
启动的时候,第二个Button的边框刷会由红变黑。