静态资源(StaticResource)指的是在程序载入内存时对资源的一次性使用,之后就不再访问这个资源了。
动态资源(DynamicResource)指的是在程序运行过程中然会去访问资源。
一、定义并使用资源
<Window x:Class="Demo010.MainWindow" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" Title="MainWindow" Height="149" Width="296"> <Window.Resources> <TextBlock x:Key="Res1" Text="海上生明月" /> <TextBlock x:Key="Res2" Text="海上生明月" /> </Window.Resources> <StackPanel> <Button Margin="5,5,5,0" Content="{StaticResource Res1}" /> <Button Margin="5,5,5,0" Content="{DynamicResource Res2}" /> <Button Margin="5,5,5,0" Content="Update" Click="UpdateRes_Click" /> </StackPanel> </Window>
二、更新资源内容
private void UpdateRes_Click(object sender, RoutedEventArgs e) { this.Resources["Res1"] = new TextBlock() { Text = "天涯共此时" }; this.Resources["Res2"] = new TextBlock() { Text = "天涯共此时" }; }
三、更新资源前后的变化