WPF布局空间Canvas和InkCanvas

 

根据内容部分自动缩放

最简单的

没有布局处理

Canvas.Top\Left尺寸随意写

动态组态,随意拖动,保存之后,显示

设置了Left又设置Right,以Left为准,right忽略了
设置了Top又设置Bottom,以Top为准,right忽略了

 源码判断If else

 

使用场景

 

组态、组件框拖动,改变大小

 

也可以被Grid的Margin替代

 外层一个Grid,不进行行列的划分

左右的子对象以margin划分,左上边距,自由排列

 

二、 InkCanvas

子元素附加属性, 不能使用Canvas.Left

子元素必须使用父元素的属性才能生效InkCanvas.Left

EditingMode="Ink"

 运行效果

 应用场景,平板Surface 签字笔,保留笔画

EditingMode="Select"

未选择虚线,鼠标抬起消失

 

 选中效果

 可以随意修改位置、大小

 EditingMode="None"

就是普通的Canvas,没有区别

 

EditingMode="GestureOnly" 配合手势操作

手机平板的手势,左右滑动,不同的动作,返回上一页之类的

上滑,下滑,快捷菜单

 

EditingMode="InkAndGesture"

定制,滑个圈做什么事

 

手写识别可以做,但是需要第三方库类支持

自己写的传到库里面,汉字识别

怎么获取画上的线

path组合的,怎么获取笔画,放到库里面识别

Strokes属性

一个集合Collent

画松开属于一个strokes

每画一次产生一个对象

 

 

设置绘画属性

DefaultDrawingAttributes

默认:黑色特定宽度呈现

红色、

宽度、高度两个都设置,才会是圆形的笔

        <InkCanvas.DefaultDrawingAttributes>
            <DrawingAttributes Color="Red" >            
            </DrawingAttributes>
        </InkCanvas.DefaultDrawingAttributes>

 

posted on 2025-03-26 23:23  张彦山  阅读(73)  评论(0)    收藏  举报