如何使用应用程序资源(WPF .NET)
此示例演示如何使用应用程序定义的资源。 资源可以在应用程序级别定义,通常通过 App.xaml 或 Application.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>