WPF之InkCanvas控件

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/wangyinlon/article/details/86640416

==》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代替

装饰框

猜你喜欢

转载自blog.csdn.net/wangyinlon/article/details/86640416