C# 在XAML中使用全局资源(应用程序与页面)

C# 在XAML中使用全局资源(应用程序与页面),c#,xaml,visual-studio-2013,windows-phone-8.1,C#,Xaml,Visual Studio 2013,Windows Phone 8.1,我对WindowsPhone8.1开发基本上是新手。但是,我一直想问,定义页面资源和应用程序资源之间有什么区别 虽然他们似乎做了完全相同的事情,我想这两者之间一定有一些不同,这就是我想知道的。我为什么要挑一个呢 我有一个非常简单的例子可以帮助你回答我的问题 <Page.Resources> <SolidColorBrush x:Key="MyBrush" Color="Navy"/> <Style TargetType="Button" x:Key=

我对WindowsPhone8.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>

vs

谢谢你抽出时间!!:)

应用程序资源是
全局的
,因此从概念上讲,它们应该只包含应用于应用程序中每个页面/控件或任何其他对象的资源

页面/控件和类似资源是本地的,因此它们不打算在这些对象之外重用

然而,使用一种方法与另一种方法相比会产生性能和其他影响。一般来说,与常规本地资源相比,全局应用程序资源倾向于提高XAML的性能(除非您使用的是性能更好的静态本地资源)


在干净的设计方面,使用应用程序资源会促进紧密耦合(这不好),因为您的页面和相关资源不是独立的。

我想我明白了吧?因此,即使它可能会影响整个应用程序的性能,但使用页面资源会更好,因为耦合更少@Zencoderys,那更干净。我会用你能做的任何优化(例如静态资源)来做到这一点。太好了,你真的很有帮助!谢谢@TheZenCoder