笔划的 WPF InkCanvas Z-Index
WPF InkCanvas Z-Index for strokes
在 WPF InkCanvas 中,墨迹呈现在顶部并且笔划没有 z-index 属性。我在 InkCanvas 上有其他 UIElements,例如形状和图像,但无法将 UIElements 置于顶部。是否有解决此问题的方法。我试过了
下面的东西。
1) 使用两种不同的 InkCanvas(一种用于笔画,一种用于 UIElements)
- 无法在此实现三明治效果(即笔画之间的 UIElement
Something like this in this circle is UIElement
2) 使用几何路径遮蔽笔划并添加为 UIElement
- 如果我将笔画添加为 UIElement(使用路径),那么我将失去擦除功能。
作为我们游戏套件一部分的地图编辑器使用墨水绘制地形,所以我最近对这类事情有经验。
我的应用程序的工作方式是你select你正在画的东西(树林、道路、等高线等),然后用墨水画一笔。
然后我处理该笔划并获得几何图形。
我将其传递给 viewmodel > itemssource > itemscontrol。
然后将其模板化为一块地形。
此项目控件位于 inkcanvas 下方。
用户可以通过在 observablecollection 中上下移动它们来操纵它们的 z-index。
我仅依靠定义 z-index 的顺序。
我还通过序列化来保留每个笔画的数据。
你在想"how about erase?"。
为此,我需要一个明确的擦除此物模式。
让他们选择一个形状并获取其笔划数据,将笔划添加回 inkcanvas。一旦他们完成擦除,然后使用 "save changes" 按钮或其他东西重新处理笔画并切换回编辑模式。
由于这是我正在开发的游戏地图编辑器,绘图会生成地形的区域和线型,但它们 area/line 是由笔划转换而来的几何图形定义的。 ZIndex 对应于左侧面板中对象的顺序。您可以看到带有向上和向下的人字形的按钮移动
在 WPF InkCanvas 中,墨迹呈现在顶部并且笔划没有 z-index 属性。我在 InkCanvas 上有其他 UIElements,例如形状和图像,但无法将 UIElements 置于顶部。是否有解决此问题的方法。我试过了
下面的东西。
1) 使用两种不同的 InkCanvas(一种用于笔画,一种用于 UIElements) - 无法在此实现三明治效果(即笔画之间的 UIElement Something like this in this circle is UIElement 2) 使用几何路径遮蔽笔划并添加为 UIElement - 如果我将笔画添加为 UIElement(使用路径),那么我将失去擦除功能。
作为我们游戏套件一部分的地图编辑器使用墨水绘制地形,所以我最近对这类事情有经验。
我的应用程序的工作方式是你select你正在画的东西(树林、道路、等高线等),然后用墨水画一笔。
然后我处理该笔划并获得几何图形。 我将其传递给 viewmodel > itemssource > itemscontrol。 然后将其模板化为一块地形。 此项目控件位于 inkcanvas 下方。 用户可以通过在 observablecollection 中上下移动它们来操纵它们的 z-index。 我仅依靠定义 z-index 的顺序。
我还通过序列化来保留每个笔画的数据。
你在想"how about erase?"。 为此,我需要一个明确的擦除此物模式。 让他们选择一个形状并获取其笔划数据,将笔划添加回 inkcanvas。一旦他们完成擦除,然后使用 "save changes" 按钮或其他东西重新处理笔画并切换回编辑模式。
由于这是我正在开发的游戏地图编辑器,绘图会生成地形的区域和线型,但它们 area/line 是由笔划转换而来的几何图形定义的。 ZIndex 对应于左侧面板中对象的顺序。您可以看到带有向上和向下的人字形的按钮移动