私はSystem.Windows.Documents
名前空間内のクラスを操作しており、これらのプロパティが特定のクラスに存在するかどうかに応じて、特定の依存関係プロパティの値を条件付きで設定する汎用コードを記述しようとしています。
たとえば、次のメソッドPadding
は、渡された のプロパティに任意の値を割り当てFrameworkContentElement
ます。
void SetElementPadding(FrameworkContentElement element)
{
element.SetValue(Block.PaddingProperty, new Thickness(155d));
}
ただし、すべての具体的な実装がプロパティをFrameworkContentElement
持っているわけではありません (ありますが、ありません)。そのため、このプロパティを実装する型ではプロパティの割り当てが成功し、そうでない型では暗黙のうちに無視されることを期待します。Padding
Paragraph
Span
FrameworkContentElement
しかし、プロパティを実装するかどうかに関係なく、のすべての派生物のインスタンスに対して、上記のプロパティの割り当てが成功するようですPadding
。割り当てられた値を常に読み取ることができたので、この仮定を行います。
プロパティ値を割り当てる方法に何らかの欠陥があると思います。特定の依存関係プロパティの割り当てが、そのプロパティを実装しないクラスによって無視されるようにするにはどうすればよいですか?
アドバイスありがとうございます。
ティム