WPF中静态资源(StaticResource)和动态资源(DynamicResource)的区别

来源:互联网 发布:淘宝上的金毛幼崽 编辑:程序博客网 时间:2024/05/14 14:22

一、文章概述

本演示介绍了WPF的静态资源和动态资源的基本使用,并对两者做了简单的比较。
静态资源(StaticResource)指的是在程序载入内存时对资源的一次性使用,之后就不再访问这个资源了;动态资源(DynamicResource)使用指的是在程序运行过程中然会去访问资源。
相关下载(代码、屏幕录像):http://pan.baidu.com/s/1c0q2BVM
在线播放:http://v.youku.com/v_show/id_XODE4MTI1MzYw.html
温馨提示:如果屏幕录像和代码不能正常下载,可站内留言,或发邮件到524130780@QQ.COM


二、定义并使用资源
[html] view plain copy
 在CODE上查看代码片派生到我的代码片
  1. <Window x:Class="Demo010.MainWindow"  
  2.         xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"  
  3.         xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"  
  4.         Title="MainWindow" Height="149" Width="296">  
  5.     <Window.Resources>  
  6.         <TextBlock x:Key="Res1" Text="海上生明月" />  
  7.         <TextBlock x:Key="Res2" Text="海上生明月" />  
  8.     </Window.Resources>  
  9.     <StackPanel>  
  10.         <Button Margin="5,5,5,0" Content="{StaticResource Res1}" />  
  11.         <Button Margin="5,5,5,0" Content="{DynamicResource Res2}" />  
  12.         <Button Margin="5,5,5,0" Content="Update" Click="UpdateRes_Click" />  
  13.     </StackPanel>  
  14. </Window>  

二、更新资源内容
[csharp] view plain copy
 在CODE上查看代码片派生到我的代码片
  1. private void UpdateRes_Click(object sender, RoutedEventArgs e)  
  2. {  
  3.     this.Resources["Res1"] = new TextBlock() { Text = "天涯共此时" };  
  4.     this.Resources["Res2"] = new TextBlock() { Text = "天涯共此时" };  
  5. }  

三、更新资源前后的变化

0 0
原创粉丝点击