如何使用 WPF .NET) (應用程式資源

此範例示範如何使用應用程式定義的資源。 資源可以在應用層級定義,通常是透過 應用程式 .xaml應用程式 .xaml 檔案來定義,無論您的專案使用哪一個。 應用程式所定義的資源會全域設定範圍,而且會由應用程式的所有元件存取。

重要

.NET 5 (和 .NET Core) 的桌面指南檔正在結構中。

範例

下列範例顯示應用程式定義檔案。 應用程式定義檔會定義資源區段, (Resources 屬性) 的值。 如果資源是定義為應用程式層級,則應用程式當中的其他所有頁面均可存取這些資源。 在此情況下,這類資源是宣告的樣式。 因為包含控制項範本的完整樣式可能很長,所以此範例會省略在樣式的屬性 setter 內定義的控制項範本 ContentTemplate

<Application.Resources>
    <Style TargetType="Border" x:Key="FancyBorder">
        <Setter Property="Background" Value="#4E1A3D" />
        <Setter Property="BorderThickness" Value="5" />
        <Setter Property="BorderBrush">
            <Setter.Value>
                <LinearGradientBrush>
                    <GradientStop Offset="0.0" Color="#4E1A3D"/>
                    <GradientStop Offset="1.0" Color="Salmon"/>
                </LinearGradientBrush>
            </Setter.Value>
        </Setter>
    </Style>
</Application.Resources>

下列範例顯示的 XAML 頁面會參考上一個範例中的應用層級資源。 資源會以 StaticResource 標記延伸 來參考,此延伸模組會指定資源的唯一資源金鑰。 在目前物件和視窗的範圍中找不到資源 "FancyBorder",因此資源查閱會繼續超出目前的頁面和應用層級的資源。

<Border Style="{StaticResource FancyBorder}">
    <StackPanel Margin="5">
        <Button>Button 1</Button>
        <Button>Button 2</Button>
        <Button>Button 3</Button>
        <Button>Button 4</Button>
    </StackPanel>
</Border>

另請參閱