WPF-Canvas简介

        WPF中最轻量级的布局容器,原因是其不包含复杂的布局逻辑。

        通过Cavas.Left、Canvas.Top、Canvas.Right、Canvas.Bottom来进行子元素坐标位置的设定,Canvas.ZIndex设置子元素重叠层级。

        通过ClipToBounds属性设置来确定是否裁剪超出Canvas边界的元素内容。

基本使用Demo

 <Grid>
     <Grid.RowDefinitions>
         <RowDefinition/>
         <RowDefinition/>
     </Grid.RowDefinitions>
     <Canvas Grid.Row="0" Margin="20" Background="AliceBlue">
         <Rectangle Width="200" Height="100" Canvas.Left="10" Canvas.Top="30" Fill="AntiqueWhite"  Canvas.ZIndex="2"/>
         <Button Width="200" Height="100" Canvas.Left="20" Canvas.Top="40" Background="Green" Opacity="0.2" Canvas.ZIndex="1"/> <!--Canvas.ZIndex设置重叠层级-->
         <Ellipse Width="50" Height="80" Fill="Blue" Canvas.Right="-20" Canvas.Bottom="-5"/>
     </Canvas>
     <Canvas Grid.Row="1" Margin="20" Background="AliceBlue" ClipToBounds="True">
         <!--ClipToBounds确定是否裁剪超出Canvas边界的元素内容-->
         <Rectangle Width="200" Height="100" Canvas.Left="10" Canvas.Top="30" Fill="AntiqueWhite"/>
         <Ellipse Width="50" Height="80" Fill="Blue" Canvas.Right="-20" Canvas.Bottom="-5"/>
     </Canvas>
 </Grid>

InkCanvas 

        它不是Canvas的派生类,能接收手写笔输入,可绘制线条,能实现批注、画图等功能,十分强大。

        有很多编辑模式,如Ink、Select、EraseByStroke等等。能实现子元素选中、鼠标或手写笔绘制线条标注、已绘制线条的擦除等功能。

        目前开发中还没用到过,特定业务场景下使用,有需要的时候再研究。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值