StackPanel

StackPanel能够以水平或垂直的方式整齐地排列位于其内部的元素。通过设置StackPanel的Orientation属性可以定义内部元素的排列方式,当将Orientation属性的值设置为Horizontal时内部元素会以水平方式排列,当为Vertical时内部元素会以垂直方式排列,该属性默认以垂直方式排列。下面通过一个示例来介绍 StackPanel元素的使用方法。

在一个打开的Windows应用商店项目中新建一个空白页,并命名为StackPanelArrangePage,打开StackPanelArrangePage.xaml文件,从工具箱中拖拽一个StackPanel控件到设计器当中,并通过鼠标拖动来调整StackPanel的大小及位置,设置其背景色为白色。接着在StackPanel元素中添加三个矩形,并分别设置不同的颜色及大小,具体代码如下所示:

<StackPanel Margin="553,116,473,317" Background="White">

<Rectangle Fill="Black" Width=" 75" Height="75"/>

<Rectangle Fill="Brown" Width=" 100" Height="100"/>

<Rectangle Fill="Black" Width=" 125" Height=" 125"/>

</StackPanel>

默认情况下StackPanel中的元素会按照从上到下顺序依次排列,在设计器中的图形排列效果如图5-18所示。

图5-18垂直排列

接下来将StackPanel的Orientation属性值更改为"Horizontal", StackPanel中的元素会按照从左到右的顺序依次排列,在设计器中的图形排列效果如图5-19所示。

图5-19 水平排列

还可以通过设置元素的Margin属性来调节元素之间或子元素与父元素边框间的相对位置关系,例如Margin="10,20,30,40",表示元素与其他元素或其父元素的左、上、右、下边框间的距离分别为10、20、30、40像素。在设定Margin属性值时如果只设定了前三个值,则默认下边距等于上边距;如果只设定了两个值,这两个值分别代表左边距和上边距,此时默认右边距等于左边距,下边距等于上边距;如果只设置了一个值,如Margin="20",表示元素在各个方向上的间距都是20像素。

接着在上面的代码中为矩形添加Margin属性,并通过鼠标拖动调整StackPanel大小。添加Margin属性后的代码如下所示:

<StackPanel Orientation="Horizontal" Margin="553,116,351,416" Background="White">

<Rectangle Fill="Black" Width=" 75" Height="75" Margin=" 40,0,20,0"/>

<Rectangle Fill="Brown" Width=" 100" Height="100" Margin=" 20,0,20,0" />

<Rectangle Fill="Black" Width=" 125" Height=" 125" Margin=" 20,0,20,0"/>

</StackPanel>

在设计器中可以看到已经为矩形元素间设置了间距,效果如图5-20所示。

图5-20为子元素设置间距

在图5-20中,第一个矩形的右边距为20px,第二个矩形的左边距为20px,这两个边距之和就是两个矩形之间的距离40px,另外通过鼠标拖动调整后的StackPanel元素的Margin属性值是根据StackPanel元素外边框与其容器外边框之间的绝对距离计算出来的。

Win10系列:UWP界面布局进阶8的更多相关文章

  1. Win10系列:UWP界面布局进阶3

    与以往的Windows操作系统不同,Windows 10操作系统在正式版当中取消了任务栏中的"开始"按钮,将大部分的应用程序图标放置在开始屏中,同时将系统设置等常用功能整合到了Ch ...

  2. Win10系列:UWP界面布局进阶1

    全新的Windows 10 操作系统支持多种视图模式,用户可以根据需要选择不同的视图模式显示应用.当用户同时浏览或操作多个应用程序时,可以将应用视图调整为辅屏视图或填充视图,这样在一个屏幕中可以同时对 ...

  3. Win10系列:UWP界面布局进阶9

    Grid Grid元素用来定义一个由行和列构成的网格,这是一个功能强大的布局容器,当新建一个页面时会默认选用Grid作为顶级布局元素,下面将通过三个示例来介绍Grid的使用方法. (1)定义Grid的 ...

  4. Win10系列:UWP界面布局进阶7

    Canvas Canvas元素用于定义一个区域,可以向这个区域中添加不同的XAML界面元素.Canvas会对其内部的元素采用绝对布局方式进行布局,下面通过三个示例来介绍Canvas的使用方法. (1) ...

  5. Win10系列:UWP界面布局进阶6

    在Windows 10的"个性化设置"中,用户可以更改计算机在锁屏状态下的背景图片,除此之外,也可以通过Windows应用商店应用程序将喜欢的图片设置为锁屏背景,下面通过一个示例来 ...

  6. Win10系列:UWP界面布局进阶5

    提示框 在Windows应用商店应用程序中可以使用提示框来向用户显示提示信息,例如可以通过对话框来询问用户当前需要执行的操作,还可以通过弹出窗口来显示需要注意的信息.本节将向读者介绍如何在Window ...

  7. Win10系列:UWP界面布局进阶4

    在开发Windows应用商店应用程序时,可以为页面中的界面元素添加快捷菜单,并设置与其相关的菜单项,用户通过选择快捷菜单中的菜单项来执行与被选择对象相关的操作.下面通过一个示例来介绍如何为页面中的一张 ...

  8. Win10系列:UWP界面布局进阶2

    为了让用户可以在流畅浏览应用界面的同时提供与应用相关的功能按钮,Windows 10系统在用户界面当中引入了侧边栏,侧边栏可以在用户有需要对应用或者系统进行操作时显示,在没有需要操作的时候自动隐藏,并 ...

  9. Win10系列:UWP界面布局基础1

    随着技术的不断发展,使用者对应用程序的界面体验提出了更高的要求,为了应对越来越复杂的界面设计需求和有效的简化界面开发过程,微软公司在其应用程序的开发技术当中引入一套新的应用程序界面描述语言,这就是XA ...

随机推荐

  1. hdu-5707-Combine String

    题意:给你三个字符串,让你计算1 2 串和3 串是否匹配,就是3串可以分解为 1  2 串,字母顺序必须是按照1 2 串的字母前后顺序. DP代码太深奥 看不太透,这个代码比较好理解一点: #incl ...

  2. Could not open ServletContext resource [/WEB-INF/xxx-servlet.xml]

    Could not open ServletContext resource [/WEB-INF/xxx-servlet.xml] 造成这个问题的原因很多,网上的解决思路也很多,比如以下的: http ...

  3. display: none; 与 jq show方法之间的联系

    1. 定义四种常用隐藏元素的方式,然后调用  jq 的 show 方法显示,观察各原先隐藏元素的   display   表现,结合 jq 源码,show 方法设置 元素 display  属性值为 ...

  4. Qt Model/View学习(二)

    Model和View的搭配使用 DEMO pro文件 #------------------------------------------------- # # Project created by ...

  5. 简单实现Java的RMI——远程方法调用

    一.RMI简介: 说到RMI就不得不说RPC了. RPC:(Remote Procedure Call),远程过程调用. RMI(Remote Method Invocation),远程方法调用. R ...

  6. Codeforces 987 F - AND Graph

    F - AND Graph 思路: 首先,x & (~x) == 0 其次,~x 的 子集 y = ((~x) ^ (1<<k)), 0<= k < n(如果k这一位是 ...

  7. github下载文件和文件夹

    1.建议安装的插件.Octo mate在你的github的单个文件页面会出现download的下载按钮. 2.octo tree 右侧多一个github readme.md的一个菜单. 3.下载文件夹 ...

  8. LFU Cache

    2018-11-06 20:06:04 LFU(Least Frequently Used)算法根据数据的历史访问频率来淘汰数据,其核心思想是“如果数据过去被访问多次,那么将来被访问的频率也更高”. ...

  9. U8800 手机恢复出厂设置出现轻触Android开始页面 处理办法

    U8800 恢复出厂设置出现轻触Android开始页面处理办法 问题现象 Huawei 手机U8800刷机后,点击恢复出厂默认设置后,出现了一个一直停留在“欢迎使用Android 轻触 Android ...

  10. Android+Servlet+MySql+JSON实现简单的数据查询操作--C/S架构

    本例简单地实现Android客户端与服务器端交互,主要是通过客户端输入内容(学号)提交到服务器端,服务器端与数据库交互去查询相应信息(姓名).根据这个做个完整的安卓登录是没问题的.本例数据库服务器都采 ...