我正在编写一个在WPF中呈现某些内容的类,我想让用户控制内容的呈现方式。渲染主要是描边线,所以我决定查看System.Windows.Forms.Shapes.Line类,以了解我可能想要实现的属性。这导致我实现了大多数StrokeXXXX
属性,并且由于每个都需要元数据来影响渲染,所以这是很多苦差事。
一位同事建议我只是“借用”Shape中的属性:
Shape.StrokeThicknessProperty.AddOwner(typeof(MyType));
这似乎是个不错的主意。我认为通过这样做,我将失去设置强制和属性更改回调的能力,但看起来像PropertyMetadata的重载允许这样做。我能看到的唯一缺点是如果Shape的实现发生了变化,它会影响我们的类,但是我不确定我多久会期望.NET接口发生重大变化。
你怎么看?当一个着名的类具有你想要的行为和一个稳定的界面,或者在汽油浴中玩火时,这是一个很好的定义属性的快捷方式吗?答案 0 :(得分:4)
借用DP是非常安全和有用的...阅读WPF博士关于该主题的following帖子!
以下是他提供的一些“提示”:
答案 1 :(得分:1)
我只是继续创建自己的依赖属性。这真的不是多余的工作,然后你不必担心任何可能的警告。