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

C# 如何在代码中访问generic.xaml样式,c#,uwp,C#,Uwp,我一直认为generic.xaml样式会合并到Application.Current.Resources中,但事实并非如此 generic.xaml样式存储在哪里 如何在代码中访问它们?(不是xaml) 更新:我知道在ResourceDictionary中访问显式或隐式样式的通用c#语法。此问题仅与模板控件的/Themes/Generic.xaml的样式有关。您无法直接从(程序文件)\Windows Kits\10\DesignTime\CommonConfiguration\Neutral\U

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

generic.xaml样式存储在哪里

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


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

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

Application.Current.FindResource(key)
Windows运行时不使用这些物理文件(包括generic.xaml)进行运行时查找。这就是为什么它们特别位于DesignTime文件夹中,并且默认情况下不会复制到应用程序中。相反,这些资源字典作为Windows运行时本身的一部分存在于内存中,并且应用程序对主题资源(或系统资源)的XAML资源引用在运行时解析。见第二部分


因此,如果要使用generic.xaml中的资源。您应该将其作为通用资源字典添加到应用程序中,然后您可以从
页面访问它。资源
应用程序。当前的.Resources

找不到用于UWP的此方法,只存在于WPF@Henk尝试以下操作:
Application.Current.Resources[“资源密钥”]
隐式样式不能像您建议的那样通过x:Key访问。我将不得不使用.Resources[typeof(Class)],但它不会work@Henk你说的隐式风格是什么意思?他们的目标是CustomControls/TemplatedControls吗?@AVK