如何在代码中访问generic.xaml样式

时间:2018-06-20 12:31:59

标签: c# uwp

我一直认为,generic.xaml样式已合并到Application.Current.Resources中,但事实并非如此。

generic.xaml样式存储在哪里?

如何在代码中访问它们? (不是xaml)

更新:我知道在ResourceDictionary中访问显式或隐式样式的通用c#语法。这个问题仅与/Themes/Generic.xaml用于模板控件的样式有关。

2 个答案:

答案 0 :(得分:2)

您不能直接从(Program Files)\ Windows Kits \ 10 \ DesignTime \ CommonConfiguration \ Neutral \ UAP \\ Generic文件夹访问应用程序中generic.xaml中的资源不会复制到您的应用程序中,因此它们不属于您的应用程序,因此您的应用程序不能直接将generic.xaml中的资源用作常规资源字典。

Windows运行时不使用这些物理文件(包括generic.xaml)进行运行时查找。这就是为什么它们专门位于 DesignTime 文件夹中,并且默认情况下不会将它们复制到应用程序中的原因。而是,这些资源字典作为Windows运行时本身的一部分存在于内存中,并且您的应用程序对主题资源(或系统资源)的XAML资源引用在运行时在那里解析。参见the Theme resources in the resource dictionary structure部分。

因此,如果您想使用generic.xaml中的资源。您应该将其添加为应用程序中的常规ResourceDictionary,然后可以从Page.ResourcesApplication.Current.Resources访问它。

答案 1 :(得分:0)

Application.Current.FindResource(key)
相关问题