从 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");

希望对您有所帮助。