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 1715 斐波那契数列1000项

    二维数组模拟大数加法就可以了,不太难,直接上代码了. #include<stdio.h> #include<string.h> #include<math.h> # ...

  2. java开发手册(阿里巴巴)——编程规约(部分)

    (一)命名风格 3. [强制]类名使用 UpperCamelCase 风格,但以下情形例外:DO / BO / DTO / VO / AO / PO / UID 等. 正例:MarcoPolo / U ...

  3. Android 错误集合

    1. Error:java.util.concurrent.ExecutionException: com.android.tools.aapt2.Aapt2Exception: AAPT2 erro ...

  4. Lua和C++交互 学习记录之三:全局值交互

    主要内容转载自:子龙山人博客(强烈建议去子龙山人博客完全学习一遍) 部分内容查阅自:<Lua 5.3  参考手册>中文版 译者 云风 制作 Kavcc vs2013+lua-5.3.3 1 ...

  5. (转)C# System.Diagnostics.Process.Start使用

    经常会遇到在Winform或是WPF中点击链接或按钮打开某个指定的网址, 或者是需要打开电脑中某个指定的硬盘分区及文件夹, 甚至是"控制面板"相关的东西, 如何做呢?  方法:使用 ...

  6. vs2015多行注释与取消多行注释

    注释: 先CTRL+K,然后CTRL+C 取消注释: 先CTRL+K,然后CTRL+U

  7. compile FFMPEG under windows

    这个文章应该算是中文版最好的了.但是还有一些需要修正. 特别是winsock2的处理 win10 msys2 vs2015 ffmpeg3.2.2 编译 这个英文版的才是最好的 Building ff ...

  8. Getting started with Processing 第十三章——延伸(1)

    导入库: 导入库的名称为:import processing.libName.* 声音 播放声音 支持的格式:wav,aiff,mp3声明: SoundFile blip;创建:blip = new ...

  9. 练习:将从表读出来的时间戳除以1000(java读时间戳会多出3个000)用jackson包 实现

    练习:将从表读出来的时间戳除以1000(java读时间戳会多出3个000)jackson包 实现 entity @Entity @DynamicUpdate //自动更新日期 @Data //get/ ...

  10. 最新的vueWebpack项目

    最近优化了我的vueWebpack多入口框架,感觉清新了好多:http://pan.baidu.com/s/1bNYJp0