在WPF InkCanvas中,墨水呈现在顶部,笔画没有z索引属性.我还有其他的UIElements,比如形状,InkCanvas上的图片,不能把UIElements放在首位。有没有解决这个问题的办法。我试过了
下面的东西。
1)使用两种不同的InkCanvas (一种用于笔画,另一种用于UIElements) --不能达到三明治效果(即笔画之间的UIElement,在这个圈子里,像这样的东西是UIElement 2),使用几何路径掩蔽笔画,并添加为UIElement --如果我将笔画添加为UIElements (使用路径),那么我将失去擦除功能。
发布于 2018-12-13 14:56:02
地图编辑器,是我们的游戏套件的一部分,使用墨水绘制地形,所以我有最近的经验,这类事情。
我的应用程序的工作方式是,你选择你正在画的东西(树林,道路,轮廓等),并画一个笔画使用墨水。
然后我处理这个笔画,得到一个几何。我将其传递给viewmodel > itemssource > itemscontrol。然后将其模板化成一块地形。这个项目控制在画布下面。用户可以通过在观察集中上下移动来操作这些索引。我只依赖于定义z索引的顺序。
我还通过序列化数据来保留每一笔的数据。
你在想“擦除怎么样?”为了做到这一点,我会有一个明确的擦除这个东西的模式。让他们选择一个形状,得到它的笔画数据,添加笔画回墨水画布。一旦完成擦除,然后使用“保存更改”按钮或其他东西重新处理笔画和切换回编辑模式。
由于这是一个游戏地图编辑器,我正在工作,绘图产生区域和线类型的地形,但他们的面积/线是定义的几何转换从一笔。ZIndex对应于左面板中对象的顺序。您可以看到的按钮,其中的chevrons指向上下移动的顺序

https://stackoverflow.com/questions/53764105
复制相似问题