4

所以我只是想知道,由于我的研究没有产生任何结果,是否有任何免费可用的控件(最好是 WPF),即本质上是任何类型属性的“通用”控件?

例如,假设您正在提供一个所见即所得的表单构造函数,并且您希望支持多种值类型 - 字符串、布尔值、整数、日期时间、浮点数等。当然,任何这些类型的列表也是...我想知道的是,是否已经有一个控件,当绑定到该控件时,它将检测属性的类型,然后为该类型呈现适当类型的控件。那是:

对于一个 int,一个带有向上/向下按钮的文本框,并验证它是一个整数 对于一个日期时间,一个日期时间选择器 对于一个日期时间列表,也许是一个自定义控件,它结合了一个列表框和一个日期时间选择器,它可以让你添加/根据需要删除日期时间...

我想写一个相对简单,但很难有效地处理所有不同的类型,当然它不能处理更复杂的类型......

有人知道吗?

4

3 回答 3

3

这种类型的控件通常称为PropertyGrid.

查看这些控件,看看它们是否适合您的需求:

  1. WPF 属性网格
  2. WPF PropertyGrid 控件
于 2012-08-02T22:18:15.977 回答
0

如果您使用自己的控件,则可以相当轻松地提供此功能,并结合同类最佳控件来执行特定任务,例如数字编辑器和日期组合。

我们最初搜索了一个包罗万象的控件,但像您一样,找不到一个。因此,我们推出了自己的产品,支持超过 15 种不同的数据呈现类型。整个控件,包括注释,只有大约 1500 行,其中包含许多特定于我们的应用程序的功能,但我们也能够融入各种第三方控件。

我们在不同用例中使用的另一种方法是创建一个通用控件接口(即设置值、获取值、您是否有效等),然后创建实现该接口的单一用途自定义控件。

然后要对控件执行批量操作,只需在控件的容器列表中循环,如果控件实现了我们的接口,则在该控件上执行接口操作。

这显着减少了我们必须编写的代码量,以便在所有控件中执行其他标准操作。

于 2012-08-02T22:32:15.887 回答
0

这对您来说并不是一个完美的解决方案,但 Silverlight 有一个 DataForm,当绑定到自定义类型的对象时,它将生成一个带有适当属性控件的表单。它不包含在 WPF 中,但有一个Silverlight 控件的 WPF 端口

编辑

我错过了你问题的一部分,这对你来说更不是一个解决方案。不过它仍然可能会有所帮助,所以我将把它留在这里。

于 2012-08-02T22:15:04.573 回答