ss_luck
Sheeber
采纳率33.3%
2018-03-05 09:19

WPF中Canvas画布怎么逐笔清除和清空画布?

20

WPF中Canvas画布怎么逐笔清除和清空画布?
protected override void OnStrokeCollected(InkCanvasStrokeCollectedEventArgs e)
{
base.Strokes.Remove(e.Stroke); //使用此方法时,请删除之前添加到 InkCanvas 的原始笔划
CustomStroke item = new CustomStroke(e.Stroke.StylusPoints);
base.Strokes.Add(item);
InkCanvasStrokeCollectedEventArgs args = new InkCanvasStrokeCollectedEventArgs(item);
base.OnStrokeCollected(args);
}

            输出Strokes中为空是为什么,在其他位置调用inkCanvas.Strokes.Clear();没有用。
  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享
  • 邀请回答

5条回答

  • qq_39347090 qq_39347090 3年前

    如果是需要用brush进行erase那么用System.Windows.Controls.InkCanvasEditingMode.EraseByStroke
    如果是希望Clear的话,用Strokes.Clear即可
    Strokes是指和InkCanvas binding的对象

    点赞 评论 复制链接分享
  • ss_luck Sheeber 3年前

    已经解决,靠人不如靠己啊

    点赞 评论 复制链接分享
  • ss_luck Sheeber 3年前

    inkCanvas.EditingMode = InkCanvasEditingMode.EraseByPoint;

    inkCanvas.EditingMode = InkCanvasEditingMode.EraseByStroke;

    是怎么操作的

    点赞 评论 复制链接分享
  • ss_luck Sheeber 3年前

    在protected override void OnStrokeCollected(InkCanvasStrokeCollectedEventArgs e){}方法外调用Strokes.Clear()时,画布没有清空,而且Strokes为空,该折磨操作

    点赞 评论 复制链接分享
  • devmiao devmiao 3年前

为你推荐