【发布时间】:2017-01-25 14:51:14
【问题描述】:
我之前使用System.Windows.Shapes 将Shapes 添加到Canvas-controls。
它们可以像对象一样使用,并且在我编辑字段时视觉效果会发生变化。我还可以为点击等添加事件处理程序。
我需要使用Win2D 来实现这种功能。有什么简单的方法吗?
我正在尝试创建一个像这样的简单应用:
- 用户可以在画布上绘制形状
- 可以通过单击来选择和突出显示形状
- 可以操纵选定的形状(颜色、不透明度、宽度、高度、位置等)
- 形状可以相互叠加(Z-index)
我想一种方法是使用Draw-methods 创建自定义Shape 类。然后我只操作对象 - 更改将通过Draw-方法反映到视觉效果。在每次画布失效时,将再次绘制对象。
有什么想法吗?
【问题讨论】:
-
似乎我可以使用
CanvasTextLayout.LayoutBounds或CanvasGeometry.ComputeBounds来获取一些绘制对象的外部边界。将其用作可点击区域可能是第一步,但这并不那么准确。在空白中间单击时,它会选择一个线圈 - 不仅在单击线时。用户可以在这些模式之间进行选择。