起始页

32-回顾前面-UWP程序的架构-起始页

了解 UWP 程序的启动顺序,以及各个文件的用途。我们设置其他的启动页面,不适用默认的 MainPage。

rootFrame.Navigate(typeof(MainPage), e.Arguments);Code language: CSS (css)

在 app 的类里面配置我们的这个起始页面,我们可以更改成其他的页面的。我们创建一个空白页面,让它作为起始页面。

认识布局-宽度和高度

布局管理是从一个整体的角度去把握应用程序的界面设计,Windows10 通用应用程序可以部署到多种设备中,有各种不同的分辨率和长宽对比。

主要的布局面板有 Grid、Canvas、StackPanel 和 RelativePanel。一个应用程序的最顶层必须是一个面板。从布局的角度来说,外层的面板管理里面的面板,一层层地递归下去。

每一个布局面板都有自己的规则,它需要按照这些规则去管理里面的控件。面板拥有完全的分配权,不仅仅是分配空间,还决定元素的位置,因为空间总是跟位置相关的。

布局通用属性

1. 长度相关的属性

  • Width:宽度
  • Height:高度
  • MaxWidth:最大宽度约束
  • MaxHeight:最大高度约束
  • MinWidth:最小宽度约束
  • MinHeight:最小高度约束

如果有空间没有设置宽度和高度的相关属性,并不代表宽度和高度为 0,控件会自适应分配高度和宽度。

例如 TextBlock 控件,如果没有设置高度,但是设置了字体大小,则字体越大高度就会越大。如果控件的内容是动态的,这个时候应该设置高度和宽度。

认识布局-排列相关的属性

排列相关的属性主要有 HorizontalAlignment 和 VerticalAlignment 属性。

HorizontalAlignment 属性表示获取或者设置在布局父级(如面板或者项控件)水平对齐特征:

  • Left:表示左对齐
  • Center:表示居中对齐
  • Right:表示靠右对齐
  • Stretch:表示拉伸以填充整个元素布局槽

垂直对齐,VerticalAlignment 属性表示在父对象中垂直对齐特征,有四种:

  • Top:表示顶部对齐
  • Center:表示居中对齐
  • Bottom:表示底部对齐
  • Stretch:表示拉伸以填充整个父元素

在使用上面两个属性的时候,还要注意的是,在对象上显示设置 Height 和 Width 属性时,这些度量值在布局过程中将具有较高优先级,并且能够取消将 HorizontalAlignment 和 VerticalAlignment 属性设置为 Stretch 的典型效果。

如果使用 Canvas 面板,在构成布局时,则不使用 HorizontalAlignment 和 VerticalAlignment 属性,因为 Canvas 是基于绝对定位的。

边距 Margin

边距 Margin,表示获取或设置外边距。三种取值方式:

  • 一个数字:比如 Margin=”1″,则左、上、右、下都是 1
  • 两个数字:比如 Margin=”1,2″,则左右是 1,上下是 2
  • 四个数字:比如 Margin=”1,2,3,4″,则表示左 1、上 2、右 3、下 4

练一练

创建一个 BlankPage1.xaml 页面,然后添加一个 textblock 和 images:

<Grid Background="{ThemeResource ApplicationPageBackgroundThemeBrush}">
    <Grid.RowDefinitions>
        <RowDefinition></RowDefinition>
        <RowDefinition></RowDefinition>
    </Grid.RowDefinitions>
    <TextBlock Grid.Row="0">foxdevelop</TextBlock>
    <Image Grid.Row="1" Source="images/093007omy75nd2azzy7w2y.png"/>
</Grid>Code language: HTML, XML (xml)

在 app 里面指定这个页面为起始页:

rootFrame.Navigate(typeof(BlankPage1), e.Arguments);Code language: CSS (css)

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注