WPF的靜態資源(StaticResource)和動態資源(DynamicResource)


靜態資源(StaticResource)指的是在程序載入內存時對資源的一次性使用,之后就不再訪問這個資源了。

動態資源(DynamicResource)指的是在程序運行過程中然會去訪問資源。

WPF中,每個界面元素都含有一個名為Resources的屬性,其存儲的是以“鍵-值”對形式存在的資源,而其子級元素在使用這些資源時會從Resources中找到這些資源。在子級元素引用的資源分為StaticResource和DynamicResource,兩者的不同在於,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 = "天涯共此時" };
}

 

 

 

 this.Resources["資源鍵值"]和this.FindResource("資源鍵值");


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM