从 SetterBase 中提取 Setter 属性 名称?
Extract Setter Property name from SetterBase?
是否可以从我从 Style class 获得的 SetterBase 集合中提取 属性 名称?
例如,在下面的代码中:
Style style = Application.Current.Resources[ModifierNameMinimalNoPopStyle] as Style;
descriptionText.Style = style;
var setterCollection = style.Setters;
我想提取 "FontFamily" 样式的内容并在我的代码中使用它。
有什么办法吗?
根据您的回答,我会采取以下措施来避免不必要的链接。将该字体放入您的 ResourceDictionary 中,使其成为实际的 StaticResource
,例如;
<FontFamily x:Key="SpecialFont">Segoe UI</FontFamily>
然后它随处可用,如果您需要更改它,那么您只有一个地方可以通过继承传播到每个实例,例如将您的 Setter 从;
<Setter Property="FontFamily" Value="Segoe UI" />
至;
<Setter Property="FontFamily" Value="{StaticResource SpecialFont}" />
现在,如果您在其他任何地方需要它,您实际上可以从相同的静态位置将其作为 StaticResource 抓取,例如;
<Button FontFamily="{StaticResource SpecialFont}" Content="I'm Segoe UI Font"/>
或后面的代码;
this.btn.SetResourceReference(FontFamilyProperty, "SpecialFont");
希望对您有所帮助。
是否可以从我从 Style class 获得的 SetterBase 集合中提取 属性 名称?
例如,在下面的代码中:
Style style = Application.Current.Resources[ModifierNameMinimalNoPopStyle] as Style;
descriptionText.Style = style;
var setterCollection = style.Setters;
我想提取 "FontFamily" 样式的内容并在我的代码中使用它。
有什么办法吗?
根据您的回答,我会采取以下措施来避免不必要的链接。将该字体放入您的 ResourceDictionary 中,使其成为实际的 StaticResource
,例如;
<FontFamily x:Key="SpecialFont">Segoe UI</FontFamily>
然后它随处可用,如果您需要更改它,那么您只有一个地方可以通过继承传播到每个实例,例如将您的 Setter 从;
<Setter Property="FontFamily" Value="Segoe UI" />
至;
<Setter Property="FontFamily" Value="{StaticResource SpecialFont}" />
现在,如果您在其他任何地方需要它,您实际上可以从相同的静态位置将其作为 StaticResource 抓取,例如;
<Button FontFamily="{StaticResource SpecialFont}" Content="I'm Segoe UI Font"/>
或后面的代码;
this.btn.SetResourceReference(FontFamilyProperty, "SpecialFont");
希望对您有所帮助。