我正在尝试设置几个不同的WPF RichTextBox控件的属性,如List,ListItem,Paragraph。我想要设置的属性是,例如,FontFamily和TextAlignment。
我想尽可能通用,所以我有一个用于TextAlignment的setter,一个用于FontFamily的setter,依此类推,但我找不到提供所有这些属性的公共超类。
你能告诉我我正在寻找什么超类,如果可能的话,如何找出超类提供不同属性的一般情况?
编辑:案例的更详细说明:
FontFamily继承自Paragraph和ListItem中的TextElement
TextAdjust继承自Block,显然是每个类,但ListItem
答案 0 :(得分:0)
包含所有Font...
属性的公共基类是TextElement,而TextAlignment
是ListItem的属性。
当您浏览MSDN页面时,您可以自己轻松找到它。左侧有一个树视图,显示了类的构造函数,字段,方法,属性和事件。如果单击其中一个项目,则会显示该类中定义的项目列表。
答案 1 :(得分:0)
您尝试设置的所有属性都是依赖项属性。您可以使用DependencyObject.SetValue方法,例如:
DependencyObject x;
x.SetValue(Block.TextAlignmentProperty, TextAlignment.Justify);
这只是找到正确的依赖属性描述的问题。
答案 2 :(得分:0)
您可以覆盖给定UIElement的元数据。
例如,如果要设置所有FrameworkElements的默认FontSize:
System.Windows.Documents
.TextElement
.FontSizeProperty
.OverrideMetadata(typeof(FrameworkElement), new PropertyMetadata(5));
UIElement / FrameworkElement是通用的,如果你想将这些默认值只应用于几种类型,你需要为你想要的每种类型重复该行。