我有一个资源字典包含我所有的程序控件的自定义样式。字典与应用程序的资源合并,如下所示:
<ResourceDictionary x:Key="Controls">
<ResourceDictionary.MergedDictionaries>
<ResourceDictionary Source="Controls.xaml" />
</ResourceDictionary.MergedDictionaries>
</ResourceDictionary>
我可以通过xaml轻松访问不同的样式:
<Button Style="{StaticResource Button}" />
但是,每当我尝试通过代码分配这种风格的控件时,它都会失败。
我试过:
Button.Style = Application.Current.Resources("Button")
Button.Style = CType(Application.Current.Resources("Button"), Style)
和类似于上面的不同方法。在测试一些不同的方法来获得的风格,我面临着“资源找不到”,但当使用上述的程序似乎找到了风格。我可以成功地运行程序-但没有任何视觉证据证明这种风格确实适用。
如何正确地将资源字典中的样式分配给控件?
3条答案
按热度按时间qf9go6mv1#
第一步:包含资源字典
若要使资源字典易于从代码访问,请通过代码添加它。
VB
C#语言
将“YourApplication”替换为您的解决方案名称,将“YourDictionary”替换为您的资源字典文件。
第二步:指定样式
要使用新导入的资源字典,只需为控件指定样式;
VB
C#语言
4zcjmb1e2#
使用应用程序.当前.资源[“按钮”]。
7cwmlq893#
我的问题是使用嵌套字典,在这种情况下,直接使用
Application.Current.Resources[]
或App.Current.FindResource()
访问资源是行不通的。我必须指定特定的字典才能访问资源: