静态资源(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 = "天涯共此时" };
}
三、更新资源前后的变化