WPF之InkCanvas控件

Posted wangyinlon

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了WPF之InkCanvas控件相关的知识,希望对你有一定的参考价值。

==》InkCanvas设置位置跟Canvas一样。通过InkCanvas.Top之类的设置,需要设置的属性有EditingMode,来自于InkCanvasEditingMode枚举。有7个属性
1.None=0// 忽略鼠标和手写笔输入
2.Ink = 1// 允许用户绘制批注,默认模式。使用鼠标或者手写笔绘图时,会绘制笔画
3.GestureOnly = 2// 不远许用户绘制笔画批注,但会关注预先定义的特定姿势,由System.Windows.Ink.ApplicationGesture定义笔势
4.InkAndGesture = 3// 允许用户绘制壁画批注,也可以识别预先定义的姿势
5.Select = 4// 允许用户选择保存在Children集合中的元素,要选择一个元素用户必须单机该元素或者拖动套索选择该元素,一旦选择一个元素就可以移动该元素,改变其尺寸或将其删除
6.EraseByPoint = 5// 擦除鼠标选中的笔画
7.EraseByStroke = 6// 擦除选中的一笔,开始到结束都会擦除

 

==》下面的事件可以通过设置EventArgs对象的Cancel属性取消时间(以ing结尾的事件)
StrokeErasing//擦除时
SelectionChanging// 选中时
SelectionMoving// 移动时
SelectionResizing// 放大时


==》需要注意的事件,先执行ing事件,次执行ed事件
ActiveEditingModeChanged// 编辑模式发生改变时
Gesture// 删除笔画时
StrokeCollected// 绘制完笔画时
SelectionChanged// 选中时
SelectionMoved// 移动时
SelectionResized// 放大时
StrokeErased// 擦除时

初始化画笔属性

        public MainWindow()
        {
            InitializeComponent();
            //设置画笔属性
            DrawingAttributes drawingAttributes = new DrawingAttributes
            {
                Color = Colors.Red,
                Width = 2,
                Height = 2,
                StylusTip = StylusTip.Rectangle,
                IsHighlighter = false,
                IgnorePressure = true,
            };
            inkcanvas.DefaultDrawingAttributes = drawingAttributes;
        }
技术图片

MouseDown事件不触发可以用PreviewMouseDown代替

装饰框

以上是关于WPF之InkCanvas控件的主要内容,如果未能解决你的问题,请参考以下文章

WPF 使用 Microsoft.Toolkit.Wpf.UI.Controls 的 InkCanvas 时加上背景色和按钮方法

WPFのInkCanvas作为蒙版透明笔迹不透明

WPF 使用 Microsoft.Toolkit.Wpf.UI.Controls 的 InkCanvas 做高性能笔迹应用

WPF 使用 Microsoft.Toolkit.Wpf.UI.Controls 的 InkCanvas 做高性能笔迹应用

迁移桌面程序到MS Store(12)——WPF使用UWP InkToolbar和InkCanvas

WPF InkCanvas 毛笔效果