博客
关于我
UWP开发入门(二)——RelativePanel
阅读量:430 次
发布时间:2019-03-06

本文共 2019 字,大约阅读时间需要 6 分钟。

  RelativePanel也是Win10 UWP新增的控件,和上篇提到的SplitView一样在UWPUI布局起到非常重要的作用。说句实在话,这货其实就是为了UWPAdaptive UI而特意增加的,由于他的功能和DockPanel有相当的重叠,以至于DockPanel被从Win10 SDK中被撸掉了……太惨了……

  为什么说RelativePanel可以替代DockPanel,我们可以先从几个比较重要的属性看起:AlignLeftWithPanel,AlignRightWithPanel,AlignTopWithPanel,AlignBottomWithPanel。这几个属性如果是True的话,看上去的效果分明就是原先的DockPanel.Left,Right,Top,Bottom。我们先来看原先可以用DockPanel实现的下图,采用RelativePanel是如何编写的:

  RelativePanel中共有三个Button,一个TextBlock。分别靠左右对齐,用到了RelativePanel的几个附加属性:AlignLeftWithPanelRightOfLeftOfAlignRightWithPanel。这里还有一点要注意一下,TextBlock为了实现纵向的居中对齐,使用了AlignVerticalCenterWith,有兴趣的同学可以试一下,在RelativePanelVerticalAlignment优先级较低,仅在空间不足以显示控件时才起到居中对齐的作用。

  有的童鞋会说以上的效果即使用Grid也是可以实现的,话是没有错啦,但在UWP开发中,RelativePanel一般都是要配合AdaptiveTrigger来实现自适应布局的,比如下面两张图对比:

  在平板或者桌面模式,采用左右的菜单布局,而在手机则变成上下菜单布局,在UWP中实现这种动态变化的效果,完全可以通过纯XAML来实现:

  看上去啰里啰唆写了一大堆,主要还是为了展示RelativePanel的用法,并不是最优的写法,如果能提供各位一丝丝的灵感,那俺就很满意了。

 

转载地址:http://xbmyz.baihongyu.com/

你可能感兴趣的文章
最通俗易懂的囚徒困境
查看>>
递推的思维构建与技巧实现
查看>>
五道逻辑思维题
查看>>
MySQL 1064 You have an error in your SQL syntax 错误解决办法
查看>>
liteide错误: 进程无法启动--解决方法
查看>>
Java程序中的代理作用和应用场景及实现
查看>>
Java 前台后台数据传递、中文乱码解决方法
查看>>
Git报错:Permission denied (publickey)
查看>>
常见的图文布局
查看>>
Laravel - 上手实现 - 文件上传、保存到 public 目录下
查看>>
一次性搞懂 PHP 中面向对象的所有知识点。
查看>>
将mongo设置为windows的服务
查看>>
Linux 修改环境变量报错
查看>>
【Flink】Flink 底层RPC框架分析
查看>>
【集合框架】JDK1.8源码分析之LinkedList(七)
查看>>
【设计模式】命令模式
查看>>
Jenkins 集成postman 自动化运行接口测试用例
查看>>
hashlib 简单加密
查看>>
python装饰器实现对异常代码出现进行监控
查看>>
django+appium实现UI自动化测试平台(开源部分,可定制开发)
查看>>