Windows Phone 8初级教程(五) 布局和事件基础

原文地址:

http://channel9.msdn.com/Series/Windows-Phone-8-Development-for-Absolute-Beginners/Part-5-Basics-of-Layout-and-Events

系列地址:http://channel9.msdn.com/Series/Windows-Phone-8-Development-for-Absolute-Beginners

源代码: http://aka.ms/absbeginnerdevwp8

PDF版本: http://aka.ms/absbeginnerdevwp8pdf

我将在本课中讨论布局,换句话说如何在应用程序的用户界面上定位或者排列控件。

本课的计划是:

我们将讨论两个主要的用于布局和定位的元素:Grid和StackPanel。

对于Grid,我将讨论定义行和列以及各种大小调整的选项和技术以充分利用Grid的功能。

接着,我们将学习StackPanel,并将应用程序从Grid布局调整为StackPanel布局,这将教会我们Grid和StackPanel之间的一些关键区别。

最后,我们将讨论事件处理程序如何在XAML和C#中进行“连接”。

1. 理解网格的基础知识

缺省的Windows Phone页面模板创建了一个称为"ContentPanel"的<Grid>元素。

该Grid元素用于其他控件的布局。它允许您定义行和列,然后每个控件可以请求被放置在哪一行及哪一列中。

缺省的Windows Phone页面模板创建了一个称为"ContentPanel"的<Grid>元素。

在默认的MainPage.xaml页面模板中,在开始和结束标记<Grid></Grid>之间,Grid显示为空,它似乎没有行或列的定义。然而即使他们未被显式定义,默认情况下始终有一个行定义和列定义。他们占据所有可用的垂直和水平空间以代表Grid中一个大的“单元”。任何放置在开始和结束<Grid></Grid>元素之间的项目被认为位于这个隐式的“单元”之中。

2. Grid的行定义 (RowDefinitions) 和列定义 (ColumnDefinitions)以及定义大小

"LayoutRoot" 网格是一个定义了行的Grid。该Grid定义了两行:

请注意含有项目和页面标题的StackPanel将自己放置在第一行中,该StackPanel有一个称为Grid.Row=”0”的属性。您使用从零开始的编号方案引用行和列。

注意通过设置属性Grid.Row=”1”,内容面板网格 (ContentPanel Grid)将自己放置在第二行。

第一行将高度设置为”自动(Auto)”。第二行(行1)设置为"*"。有三种语法用来帮助设置行和列的大小。对于XAML布局,高度和宽度是相对的,并受许多因素的影响。布局引擎考虑所有这些因素以确定在页面上项目的实际位置。

例如,“自动”表示该行的高度足以容纳放置在其中的所有控件。如果最高的控件高度是150像素,那么这就是该行的实际高度。如果它只有100像素,那么那就是该行的高度。因此“自动”表示高度是相对行内部的控件。

星号称为“比例缩放”,它表示该行的高度应该占据所有其余可用的高度。

这里是另一种使用“比例缩放”的简单示例。我创建了一个项目,在内容面板中有针对三行的定义。请注意每一行的高度:

查看本栏目更多精彩内容:http://www.bianceng.cnhttp://www.bianceng.cn/OS/extra/

时间: 2024-12-31 06:24:29

Windows Phone 8初级教程(五) 布局和事件基础的相关文章

Silverlight初级教程-绘图布局

Silverlight初级教程 绘图布局 正如之前所说Blend是和flash很像的东西.在这里将介绍一下如何在Blend中绘图. 这里的Blend中"舞台"的默认布局和flash中有些不同,大家都知道在flash中物体的都是有坐标"x,y"来定位的.在blend中舞台默认是 使用了Grid来对物体进行布局,这个Grid其实很像Html中的Table.这里暂时先跳过Grid.现在要尽量的flash相似.第一步就是要先把 舞台的布局改为和flash一样的方式. 打开B

Windows Phone 8初学者开发—第5部分:布局和事件基础

原文 Windows Phone 8初学者开发-第5部分:布局和事件基础 原文地址: http://channel9.msdn.com/Series/Windows-Phone-8-Development-for-Absolute-Beginners/Part-5-Basics-of-Layout-and-Events 系列地址:http://channel9.msdn.com/Series/Windows-Phone-8-Development-for-Absolute-Beginners 源

C#微信公众号开发系列教程五(接收事件推送与消息排重)

原文:C#微信公众号开发系列教程五(接收事件推送与消息排重) 微信公众号开发系列教程一(调试环境部署) 微信公众号开发系列教程一(调试环境部署续:vs远程调试) C#微信公众号开发系列教程二(新手接入指南) C#微信公众号开发系列教程三(消息体签名及加解密) C#微信公众号开发系列教程四(接收普通消息) C#微信公众号开发系列教程五(接收事件推送与消息排重) 在上一篇的博文中讲到,微信的消息可以大体分为两种类型,一种是包括:文本,语音,图片等的普通消息,另一种就是本篇要将的事件类型.包括:关注/

Windows Phone 8初级教程(六) 设置应用程序的样式

Source Code: http://aka.ms/absbeginnerdevwp8 PDF Version: http://aka.ms/absbeginnerdevwp8pdf 我们已经讨论了XAML基础.布局以及事件,让我们在本课中讨论一些有趣的议题.我们将通过设置应用程序的样式赋予应用程序独特的特征.显然我们要遵循微软的准则以使我们的应用程序看上去是WindowsPhone 8生态系统的一部分,但是我们还有很多个性化应用程序的自由度. 本课的计划是: 我们将更改用于手机应用程序列表和

Windows Phone 8初级教程(十三) 设置LongListSelector中磁贴的样式

原文地址:http://channel9.msdn.com/Series/Windows-Phone-8-Development-for-Absolute-Beginners/Part-13-Styling-Tiles-in-the-LongListSelector 查看本栏目更多精彩内容:http://www.bianceng.cnhttp://www.bianceng.cn/OS/extra/ 系列地址:http://channel9.msdn.com/Series/Windows-Phon

Windows Phone 8初级教程(三) 编写第一个Windows Phone 8应用程序

原文地址: http://channel9.msdn.com/Series/Windows-Phone-8-Development-for-Absolute-Beginners/Part-3-Writing-your-First-Windows-Phone-8-App 系列地址:http://channel9.msdn.com/Series/Windows-Phone-8-Development-for-Absolute-Beginners 源代码: http://aka.ms/absbegin

Windows Phone 8初级教程(一) 简介

您好,欢迎来到这个包含35课为Window Phone 8平台创建应用程序的系列教程.我叫Bob Tabor,在过去的11年中我一直在微软的网站和我自己的网站上(www.LearnVisualStudio.NET)创建针对微软开发工具和技术的视频讲座教程. 根据本系列的标题,本培训将针对"绝对初学者",虽然这肯定正确,因为我们将从最基本的创建手机应用程序开始,但是您将看到我们将很快转到一些Windows Phone 8操作系统的新的和高级的特性. 本系列的推出是因为我之前的系列(Win

Windows Phone 8初级教程(十二) 改进视图模型和示例数据

原文地址:http://channel9.msdn.com/Series/Windows-Phone-8-Development-for-Absolute-Beginners/Part-12-Improving-the-View-Model-and-Sample-Data 系列地址:http://channel9.msdn.com/Series/Windows-Phone-8-Development-for-Absolute-Beginners 源代码: http://aka.ms/absbeg

Windows Phone 8初级教程(十一) 设置SounBoard应用程序

http://channel9.msdn.com/Series/Windows-Phone-8-Development-for-Absolute-Beginners/Part-11-Setting-up-the-SoundBoard-App 系列地址:http://channel9.msdn.com/Series/Windows-Phone-8-Development-for-Absolute-Beginners 源代码: http://aka.ms/absbeginnerdevwp8 PDF版