.net - 为什么要在 WPF 中使用 InkCanvas?

标签 .net wpf drawing canvas inkcanvas

在我的 WPF 应用程序中,我有一些绘图功能。我已经使用 Canvas 解决了这个问题,并手动处理了鼠标手势,我还将绘制的 Strokes(包装在 InkPresenter 中)添加到了这个 Canvas。

使用 Blend 我突然发现有个东西叫 InkCanvas .根据 Blend,这是一个“定义接收和显示墨迹笔划的区域”的控件,所以它听起来与我的工作有关。但是使用普通的 Canvas 似乎一切正常。

所以; InkCanvas 与普通 Canvas 有何不同,为什么我应该选择使用它?

最佳答案

它们确实是为了服务于两个不同的目的。 Canvas用于布局。专门用于使用绝对定位更精确地控制布局。 InkCanvas如您所知,用于捕获和显示笔画。

你做的很好,但是InkCanvas有一些不错的附加功能,如 EditMode其中。它旨在让您免于编写许多必须使用 Canvas 手动完成的工作。 .使用 Canvas是一种您自己的方法,其中 InkCanvas是一种使用预先构建的方法。

关于.net - 为什么要在 WPF 中使用 InkCanvas?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2409568/

相关文章:

.net - 解决混合内容错误的Swagger设置

.net - 如何在 .NET 中编辑 EXIF 数据

c# - 用c#画形状

.net - 如何在无法访问 System.Windows.Forms.PaintEventArgs 命名空间的情况下在 Winform 上绘图?

c# 在位图上写文本

c# - 当 .NET 线程抛出异常时会发生什么?

c# - .net Grpc 请求协议(protocol) 'HTTP/1.1' 不受支持

c# - TreeView.ItemContainerGenerator.ContainerFromItem 为非根项返回 null。解决方法?

c# - 将文本框绑定(bind)到 Func<T>(Linq 查询)

c# - 如何将 ScrollBar 添加到 Stackpanel