2010-04-09 79 views
1

我找了这个场景的解决方案 -最佳计算策略创建基本控制

我需要实现一个功能,让用户在不同的控件添加到canvas(WPF,定制和第三方),然后选择任何其中之一并修改PropertyGrid中的一些属性(更改需要反映在UI中)。

我不想公开任何控件的所有属性只有一些(与最终用户有关);除此之外,还有一些属性对于所有控制是常见的,例如,标题,价值(价值将被绑定到某个控件的某个属性,例如文本TextBox和内容Label)等

我想将所有常见属性放在一个地方。

事情我感到困惑 -

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

  2. 控件,基类属性和PropertyGrid之间的绑定如何工作?

  3. 什么类型的对象会暴露给PropertyGrid

在这种情况下应该遵循什么方法的任何想法,任何类型的输入将真的有帮助。

回答

0

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

1)自定义控件应该更合适。
2)绑定 - 您应该了解更多关于TemplateBinding,RelativeSources绑定等,
3)您的属性可以是普通属性或依赖属性。他们中的两人都可以在物业网格中进行编辑。如果你的暴露财产是可绑定的,显然,它应该是dp。如果你公开一个属性(意味着一个具有公共访问说明符的属性),它就足以让它在属性网格中可用。

HTH