仍然通过学习XAML/WPF选择我的方式。如果有人能告诉我如何完成以下任务 - 这对帮助我开发我的下一个项目(以及几个类似的项目)将有很大的帮助。WPF类似CAD的系统 - 类中的所有数据
说我有一个对象的集合,它定义了要在画布上绘制的对象。这些对象包含渲染对象所需的所有信息,包括形状,颜色和位置。是否可以创建绑定到该集合并处理渲染的XAML控件,还是通过在代码隐藏中在画布上绘图来更好地完成此操作?
另一点 - 对象最终必须是可点击选择的,可通过矩形套索选择,并且可拖动。这不必在某人提供的示例代码中解决,但我认为可能与此相关,因为它可能会影响各种实现。
下面的示例类。提前致谢。
Class DrawingElement
readonly property Shape as string ("circle", "square", "triangle")
readonly property Position as point (coordinates)
readonly property Color as string ("red", "blue", "yellow")
end class
Sub Main
dim lst as new List(of DrawingElement)
lst.add(new DrawingElement("Circle", 10,20, "Blue"))
lst.add(new DrawingElement("Square", 80,35, "Red"))
lst.add(new DrawingElement("Triangle", 210,120, "Yellow"))
<draw lst!>
End Sub
对不起,我不会说VBineese。但代码很简单,我相信你可以解释我的咕噜声和吱吱声。 – Will 2009-09-10 13:01:10
真正的数据上没有“circle”或“rectangle”值的字符串属性 - 我只是为了清晰起见而使用了这样的示例。在真实数据中,集合中的不同元素是根据它们的不同形状绘制的(现实世界的例子:试图在地图上绘制像公园,医院和加油站这样的位置,集合将包含所有的位置,每种类型都会使用不同的图标)。 – taglius 2009-09-10 13:04:06
我完成了我的编辑,这应该阐明WPF如何使用基于类型的DataTemplates来呈现内容。这是关键。理解它并利用它可以节省大量的代码和汗水。 – Will 2009-09-10 13:09:33