我为什么要在WPF中使用InkCanvas?

sti*_*k81 13 .net wpf drawing canvas inkcanvas

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

使用Blend我突然发现有一种叫做InkCanvas的东西.根据Blend的说法,这是一个"定义接收和显示墨水笔划的区域"的控件.,这听起来与我所做的相关.但是使用普通的Canvas,一切似乎都运行良好.

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

Mik*_*Two 12

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

你正在做的事情很好,但InkCanvas有其他一些很好的附加功能EditMode.它旨在帮助您避免编写许多您需要手工使用的东西Canvas.使用Canvas是一种滚动你自己的方法,其中InkCanvas使用预先构建的方法.


Mik*_*ord 6

InkCanvas处理鼠标事件,供您在画布上绘制.它还具有此功能:

  • 保存/载入
  • 调整/缩放
  • 突出显示文字背后
  • 橡皮擦模式

http://www.kirupa.com/blend_wpf/inkcanvas_pg1.htm