1

List、ListItem、Paragraph など、いくつかの異なる WPF RichTextBox コントロールのプロパティを設定しようとしています。設定したいプロパティは、たとえば、FontFamily と TextAlignment です。

これをできるだけ汎用的に行いたいので、TextAlignment 用のセッター、FontFamily 用のセッターなどを 1 つずつ用意していますが、これらすべてのプロパティを提供する共通のスーパークラスを見つけることができません。

探しているスーパークラスを教えてください。可能であれば、どのスーパークラスがさまざまなプロパティを一般的に提供しているかを調べる方法を教えてください。

編集:ケースのより詳細な説明:
FontFamily は TextElement から継承され、Paragraph と ListItem の両方で
TextAdjust は明らかにすべてのクラスで Block から継承されますが、ListItem

4

3 に答える 3

0

設定しようとしているプロパティはすべて依存関係プロパティです。DependencyObject.SetValueメソッドを使用できます。

DependencyObject x;
x.SetValue(Block.TextAlignmentProperty, TextAlignment.Justify); 

正しい依存関係プロパティの説明を見つけるだけです。

于 2012-05-16T08:38:27.863 に答える
0

特定の UIElement のメタデータをオーバーライドできます。

たとえば、すべての FrameworkElements のデフォルトの FontSize を設定する場合:

System.Windows.Documents
              .TextElement
              .FontSizeProperty
              .OverrideMetadata(typeof(FrameworkElement), new PropertyMetadata(5));

UIElement/FrameworkElement は可能な限り汎用的です。これらのデフォルトを少数の型のみに適用する場合は、必要な型ごとにその行を繰り返す必要があります。

于 2012-05-16T08:39:03.980 に答える
0

Font...すべてのプロパティを保持する共通の基本クラスはTextElement ですが、これはListItemTextAlignmentのプロパティです。

MSDN ページをブラウズすると、自分で簡単に見つけることができます。左側には、クラスのコンストラクター、フィールド、メソッド、プロパティ、およびイベントを示すツリー ビューがあります。これらの項目の 1 つをクリックすると、そのクラスで定義されている項目のリストが表示されます。

于 2012-05-16T08:33:49.567 に答える