创建Base控件的最佳方法

时间:2010-04-09 11:50:18

标签: c# .net wpf wpf-controls

我正在为这种情况寻找解决方案 -

我需要实现一项功能,允许用户向canvas(WPF,自定义和第三方)添加各种控件,然后选择其中任何一个并修改PropertyGrid中的某些属性(更改需求)在UI中反映出来。)

我不想暴露任何控件的所有属性,只有其中一些(与最终用户相关);除此之外,还有一些属性对于所有控件都是常见的,例如:标题,值(值将绑定到控件的某些属性,例如TextBox的文本和Label的内容)等。

我正在考虑将所有常见属性放在一个地方。

我感到困惑的事情 -

  1. 如何创建此类基类,是否使用UserControl或自定义控件?

  2. 如何在Control,基类属性和PropertyGrid之间进行绑定?

  3. 我会向PropertyGrid公开哪种类型的对象?

  4. 在这种情况下应该遵循什么方法,任何类型的输入都会有所帮助。

1 个答案:

答案 0 :(得分:0)

也许你应该从这本书开始WPF Control Development Unleashed

1)自定义控制应该更合适 2)对于绑定 - 您应该了解有关TemplateBinding,RelativeSources绑定等的更多信息,
3)您的财产可以是普通财产或依赖财产。它们都可以在属性网格中进行编辑。如果你的暴露属性是可绑定的,显然它应该是dp。如果公开属性(表示具有公共访问说明符的属性),则足以使其在属性网格中可用。

HTH