我对Windows Phone 8.1开发基本不熟悉。但是,我一直想知道定义页面资源和应用程序资源之间的区别是什么?
虽然他们似乎做了完全相同的事情,但我猜这两者之间肯定存在一些差异,而这就是我想知道的事情。我为什么要选一个呢?
我有一个非常简单的例子可以帮助你回答我的问题。
<Page.Resources>
<SolidColorBrush x:Key="MyBrush" Color="Navy"/>
<Style TargetType="Button" x:Key="MyButtonStyle">
<Setter Property="Background" Value="Firebrick"/>
<Setter Property="FontFamily" Value="Arial Black"/>
<Setter Property="FontSize" Value="30"/>
</Style>
</Page.Resources>
vs
<Application.Resources>
<SolidColorBrush x:Key="MyBrush" Color="Navy"/>
<Style TargetType="Button" x:Key="MyButtonStyle">
<Setter Property="Background" Value="Firebrick"/>
<Setter Property="FontFamily" Value="Arial Black"/>
<Setter Property="FontSize" Value="30"/>
</Style>
</Application.Resources>
感谢您的时间! ! :))
答案 0 :(得分:2)
应用程序资源是global
,因此从概念上讲,它们应该只包含适用于每个页面/控件或应用程序中任何其他对象的资源。
页面/控件和类似资源是local
,因此它们不能在这些对象之外重用。
然而,使用一个与另一个具有性能和其他含义。通常,全局应用程序资源倾向于提高XAML与常规本地资源的性能(除非您使用的静态本地资源性能更好)。
在清洁设计方面,使用应用程序资源会促进紧密耦合(这并不好),因为您的页面和相关资源不是自包含的。