通过xaml中的枚举定义动态资源键

mjk*_*026 0 c# wpf enums xaml

这是我的资源键枚举。

public enum UOCResKeys                  
{
    DicView_FontFamily = 10000,         
    DicView_BaseFontSize,               
    DicView_TitleFontSize,              
    DicView_TitleFontWeight,            
    DicView_SubtitleFontSize,           
    DicView_SubtitleForeGround,         
}
Run Code Online (Sandbox Code Playgroud)

以下代码通过键引用资源。

ResourceDictionary appRes = Application.Current.Resources;
appRes[UOCResKeys.DicView_FontFamily] = new FontFamily(set.FontFamily);
Run Code Online (Sandbox Code Playgroud)

像这样,我如何引用xaml中枚举定义的资源键?

H.B*_*.B. 5

您可以使用x:Static标记扩展

{DynamicResource {x:Static namespace:UOCResKeys.DicView_FontFamily}}
Run Code Online (Sandbox Code Playgroud)

如果枚举是在类而不是命名空间中定义的,则可以像这样修改路径:

{DynamicResource {x:Static namespace:MyClass+UOCResKeys.DicView_FontFamily}}
Run Code Online (Sandbox Code Playgroud)