title author date CreateTime categories
win10 uwp 在 Canvas 放一个超过大小的元素会不会被裁剪
lindexi
2018-08-10 19:16:50 +0800
2018-07-24 08:45:12 +0800
Win10 UWP

我尝试在一个宽度200高度200的 Canvas 放了一个宽度 300 高度 300 的元素,这个元素会不会被 Canvas 裁剪了?
经过我的测试,发现默认是不会被裁剪

火火问了我一个问题,如果有一个元素超过了 Canvas 的大小,会不会被 Canvas 裁剪。我在自己的项目写了一下,发现会被裁剪,于是就告诉他。

但是这时walterlv师傅拿了一个呆磨,发现不会被裁剪,请看下面代码

        <Canvas Height="200" Width="200" HorizontalAlignment="Center" VerticalAlignment="Center" Background="DarkCyan">
<Ellipse Height="300" Width="300" Fill="Blue" Margin="100,100,100,100" />
</Canvas>

这里的 Canvas 的颜色是 DarkCyan 而里面放一个宽度和告诉都比 Canvas 大的元素,而且颜色是蓝色,这时就看可以看到会不会被裁剪,运行可以看到下面界面

如图,可以看到超过 Canvas 的元素不会被裁剪

那么为什么本渣的设备使用了超过 Canvas 的元素就会被裁剪?

因为我使用的是以前的项目里面写的,这个项目里面是因为使用了Clip的原因,修改清真的代码请看下面

        <Canvas Height="200" Width="200" HorizontalAlignment="Center" VerticalAlignment="Center" Background="DarkCyan">
<Canvas.Clip>
<RectangleGeometry Rect="0,0,200,200"></RectangleGeometry>
</Canvas.Clip>
<Ellipse Height="300" Width="300" Fill="Blue" Margin="100,100,100,100" />
</Canvas>

原先项目之所以没有发现 Clip 是因为我把他写在了样式,所以就没找到,运行项目可以看到下面界面

那么在 WPF 是怎样呢?

在 WPF 默认也是不会裁剪,请看下面代码

        <Canvas Height="200" Width="200" HorizontalAlignment="Center" VerticalAlignment="Center" Background="DarkCyan">
<Ellipse Height="300" Width="300" Fill="Blue" Margin="100,100,100,100" />
</Canvas>

可以看到在 WPF 的代码和在 UWP 的代码是完全一样的,这时运行一下,和 UWP 界面一样

最新文章

  1. HTML导航栏
  2. java比较版本号
  3. Hadoop HDFS编程 API入门系列之RPC版本2(九)
  4. sql2008r2-vs2013安装下载
  5. jvm学习
  6. C与C++的细微区别——省略形式参数名
  7. Python builtins
  8. UVa 11039 (排序+贪心) Building designing
  9. qwt 介绍
  10. 禁止选择文本和禁用右键 v2.0
  11. hdu 4550 贪婪 思考题 权
  12. es6中对象的类与继承方法
  13. SpringIOC学习一
  14. 利用ATiny85制作BadUSB
  15. Android USB ADB ATUH 验证包验证流程
  16. shallow clone
  17. 如何跨线程调用Windows窗体控件
  18. 【转】Java并发编程:synchronized
  19. JDK 8 安装及配置
  20. VMware上centos系统忘记账号和密码解决

热门文章

  1. git分布式版本控制系统权威指南学习笔记(一):配置文件、简单流程和小问题
  2. 剑指offer——48把数字翻译成字符串
  3. 第三记 Java面向对象
  4. SB般的“WE战队”输掉了比赛
  5. 2019-7-15-WPF-测试触摸设备发送触摸按下和抬起不成对
  6. 读书笔记五--numpy
  7. 微信公众号开发上传图文素材带有卡片小程序报错:errcode=45166,errmsg = invalid content hint
  8. leetcode-399-除法求值
  9. js条件语句,用if...else if....else方程ax2+bx+c=0一元二次方程。求根
  10. luoguP1134 阶乘问题 [数论]