如何使用应用程序资源(WPF .NET)

此示例演示如何使用应用程序定义的资源。 资源可以在应用程序级别定义,通常通过 App.xamlApplication.xaml 文件(无论项目使用哪种文件)。 应用程序定义的资源具有全局范围,可供应用程序的所有部分访问。

以下示例演示应用程序定义文件。 应用程序定义文件定义资源节(Resources 属性的值)。 应用程序级别定义的资源可由属于应用程序的其他所有页面访问。 在这种情况下,资源是一个已声明的样式。 由于包含控件模板的完整样式可能很长,因此此示例省略样式 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>

另请参阅