我正在使用System.Windows.Documents
命名空间中的类,尝试编写一些通用代码,这些代码将有条件地设置某些依赖项属性的值,具体取决于这些属性是否存在于给定类中。
例如,以下方法为Padding
传递的属性分配任意值FrameworkContentElement
:
void SetElementPadding(FrameworkContentElement element)
{
element.SetValue(Block.PaddingProperty, new Thickness(155d));
}
然而,并不是所有的具体实现FrameworkContentElement
都有一个Padding
属性(Paragraph
有但Span
没有),所以我希望属性分配对于实现这个属性的类型会成功,而对于没有的类型会被忽略。
但似乎上述属性分配对于 的所有派生实例都成功FrameworkContentElement
,无论它们是否实现该Padding
属性。我做出这个假设是因为我总是能够读回分配的值。
我认为我分配属性值的方式存在一些缺陷。我应该怎么做才能确保给定的依赖属性分配被不实现该属性的类忽略?
非常感谢您的建议。
蒂姆