我一直认为,generic.xaml样式已合并到Application.Current.Resources中,但事实并非如此。
generic.xaml样式存储在哪里?
如何在代码中访问它们? (不是xaml)
更新:我知道在ResourceDictionary中访问显式或隐式样式的通用c#语法。这个问题仅与/Themes/Generic.xaml用于模板控件的样式有关。
答案 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.Resources
或Application.Current.Resources
访问它。
答案 1 :(得分:0)
Application.Current.FindResource(key)