UWP学习笔记 09-10

09

一到这里,难度就突然提升了好多。

这节课学习的是StackPanel控件。

首先,Bob给出了一个例子。

▲少女粉

代码我照着视频打下来了:

<Page
x:Class="Stack.MainPage"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:local="using:Stack"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
mc:Ignorable="d">
<StackPanel>

<!--这是第一层-->
<StackPanel>

<!--这是第二层-->
<TextBlock>First</TextBlock>
<TextBlock>Second</TextBlock>
<TextBlock>Third</TextBlock>

<!--这是第三层-->

<StackPanel Orientation="Horizontal">
<TextBlock>Fourth</TextBlock>
<TextBox></TextBox>
<Button>Six</Button>
</StackPanel>

<!--第三层结束-->

</StackPanel>

<!--第二层结束-->

<!--第二层并列-->
<StackPanel Height="200">
<Rectangle Fill="Pink" Height="200"/>

</StackPanel>

<!--并列结束-->
</StackPanel>

<!--第一层结束-->
</Page>

如果看得头晕的话,在VS中,也有叫做“文档大纲”的东西存在。

比如刚刚那个,就可以像这样表示出来。

▲世界上最强的IDE,不服不行

可见,一共有3层StackPanel。

还有一个问题是,为什么要设置最外层的StackPanel呢?

为什么?试试不就知道了吗?

于是Bob一删,VS提示错误:“不允许多于一个Content出现!”

也就是说,在第一层删掉的情况下,原来的两层并列本来是没问题的,但是,问题就出在原第三层里。因为第一层不见了,所以,没了最外面的嵌套,也就是说,剩下的嵌套中的Content被设置了两次。所以不行啊。

对了,注意了,在打代码的时候,如果用StackPanel,一定要把原来的:

<Grid Background="{ThemeResource ApplicationPageBackgroundThemeBrush}">

</Grid>

删了,否则,VS就不会提示出错,然后你会发现,拖拽窗口的时候,下面的少女粉会重叠上去!

这其实又回到Grid了!


还有是Grid和StackPanel的区别。

1.Grid可以重叠,而StackPanel不行;

2.Gird可以设置行列,StackPanel不行(也有可能Bob没讲)

3.……

第十课是复习课,我去写作业了……

 


10

本节课中,Bob推荐了一种学习方法——Cheat Sheet(暂译记忆表)

我就跟着视频打了一下:

UWP 知识点整理


UWP 04——什么是XAML?


Xaml是一种使用XML语法的,用于定义程序布局的语言。

 UWP 05——类型转换


类型转换器,也就是把复杂的C#代码,通过XAML语言来表示出来。

UWP 06——默认属性、复杂属性、属性元素语法


例如<Button>诸葛亮下来战书</Button>,在这之中,Button(按钮)的Content(内容)显示为“诸葛亮下来战书”。

复杂属性,就是多层嵌套;属性语法,就是分析器是如何运作的。详细参见06课笔记。

UWP 07——XAML顶端、协议等


别碰文件顶部!!

这是整个文件的大前提!!

UWP 08——GRID


Grid没有Content属性!但是有Children属性。所以可以把控件塞到里面。

但是,Content只能赋值一次,多了不行。

当添加元素时,其实就是通过XAML写了C#代码:

Grid.Children.Add(Mybutton);

Grid有几种表达方式:

绝对表达:100(像素);

自动:Auto(取最(高)宽的元素的值);

比例:1* 2* 3* 之类的。指份数。

附加属性:

比如:

<Button Grid.Row="0"/>

这之中,Button并没有Row属性,他是继承于Grid(有点像Html)。

PLUS:

行、列都从“0”开始;

默认值都是“0”;

也就是说,你不打这个,就是“0行0列”。

UWP 09——StackPanel


别忘嵌套!!

 默认是垂直排布;

当水平排布时,默认从左到右;

一般要使用多种组合控件;

Grid可以覆盖,而StackPanel不行。

点赞

发表回复

电子邮件地址不会被公开。必填项已用 * 标注

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据