如何使用应用程序资源 (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>