`
runfeel
  • 浏览: 923201 次
文章分类
社区版块
存档分类
最新评论

[Windows Phone] StackPanel和Grid在布局中的使用

 
阅读更多

在WindowsPhone开发中,主要有三种布局方式,Canvas、Grid和StackPanel。

Canvas是以坐标的方式定位子元素,相当于Android中的AbsoluteLayout方式。Canvas当中也可以包含子Canvas。

Grid是以表格的方式定位子元素。可以定义行和列,然后将元素布局到表格当中。类似于Html中的Table元素。

StackPanel是以水平或者竖直方向对子元素进行排列。相当于Android中的LinearLayout,或者是JavaGUI中的FlowLayout。

个人认为,为了兼容多种屏幕,最好尽量多使用Grid和StackPanel布局方式。以下以一个常见的登陆窗口的例子来说明如果使用Grid和StackPanel布局。这里为了说明方便,使用了Grid和StackPanel两种方式。(用其中任何一种布局方式,都可以达到设计目的的。)

phone:PhoneApplicationPage 
    x:Class="PhoneApp1.Login"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    xmlns:phone="clr-namespace:Microsoft.Phone.Controls;assembly=Microsoft.Phone"
    xmlns:shell="clr-namespace:Microsoft.Phone.Shell;assembly=Microsoft.Phone"
    xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
    xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
    FontFamily="{StaticResource PhoneFontFamilyNormal}"
    FontSize="{StaticResource PhoneFontSizeNormal}"
    Foreground="{StaticResource PhoneForegroundBrush}"
    SupportedOrientations="Portrait" Orientation="Portrait"
    mc:Ignorable="d" d:DesignHeight="768" d:DesignWidth="480"
    shell:SystemTray.IsVisible="True">

    <StackPanel x:Name="LoginPanel">
        <TextBlock x:Name="PageTitle" Text="Login" Style="{StaticResource PhoneTextTitle1Style}" HorizontalAlignment="Center" Margin="0,30,0,0" />
        <Grid>
            <Grid.ColumnDefinitions>
                <ColumnDefinition Width="*" />
                <ColumnDefinition Width="*" />
            </Grid.ColumnDefinitions>
            <Grid Grid.Column="0">
                <TextBlock Text="UserName:" Style="{StaticResource PhoneTextLargeStyle}" HorizontalAlignment="Center" />
            </Grid>
            <Grid Grid.Column="1">
                <TextBox x:Name="name" HorizontalAlignment="Stretch" />
            </Grid>
        </Grid>
        <Grid>
            <Grid.ColumnDefinitions>
                <ColumnDefinition Width="*" />
                <ColumnDefinition Width="*" />
            </Grid.ColumnDefinitions>
            <Grid Grid.Column="0">
                <TextBlock Text="Password:" Style="{StaticResource PhoneTextLargeStyle}" HorizontalAlignment="Center" />
            </Grid>
            <Grid Grid.Column="1">
                <TextBox x:Name="pass" HorizontalAlignment="Stretch" />
            </Grid>
        </Grid>
        <Button x:Name="login" Content="Login" HorizontalAlignment="Center" Margin="0,30,0,0" Padding="30,3,30,5" Click="login_Click" />
    </StackPanel>
</phone:PhoneApplicationPage>


这里先定义了一个StackPanel,而且使用默认的Orientation,从上到下依次放入了文本显示控件、Grid、Grid和按钮控件。文本显示控件显示“Login”。第一个Grid设置了两列,第一列是文本控件,显示“UserName”,第二列是一个文本输入控件。第二个Grid和第一个Grid结构相同,用来输入密码。按钮控件显示“Login”,点击后触发“login_Click”事件。

整个UI虽然简单,但是基本说明了Grid和StackPanel布局的使用。

附界面图如下所示:

---------------------------------------------------------------------------

GL(arui319

http://blog.csdn.net/arui319

<本文可以转载,但是请保留以上作者信息。谢谢。>

---------------------------------------------------------------------------

分享到:
评论

相关推荐

    windows phone开发源代码18-24

    在Windows Phone平台上,开发应用程序通常涉及使用Microsoft的Silverlight技术和XAML(Extensible Application Markup Language)来构建用户界面。这个“windows phone开发源代码18-24”的压缩包很可能是包含了一...

    深入浅出Windows Phone 8.1应用开发(Runtime框架)_源代码

    这包括理解各种控件的用法,如Button、TextBox、ListView等,以及布局管理器如Grid、StackPanel和WrapPanel。 2. **第20章** - 这一章可能涵盖网络编程,讲解如何在Windows Phone 8.1应用中进行HTTP请求,获取JSON...

    windows phone 8.1 入门教程 布局管理 3

    通过本教程的学习,我们了解了Windows Phone 8.1中两种常用的布局控件StackPanel和Grid的基本用法及其应用场景。掌握了这些基础布局技巧后,开发者就可以开始着手设计和实现更加美观、实用的应用界面了。

    windows phone开发手册(精选)

    2. **UI设计**:理解XAML的基本元素,如Grid、StackPanel、ListBox等,以及如何通过数据绑定和MVVM(Model-View-ViewModel)模式实现动态界面。 3. **控件使用**:掌握各种内置控件,如Button、TextBox、Image、...

    《深入理解Windows Phone 8.1 UI控件编程》源代码.rar

    4. 布局系统:Windows Phone 8.1支持多种布局容器,如Grid(网格)、StackPanel(堆栈面板)、WrapPanel(包裹面板)和RelativePanel(相对面板),用于组织和定位控件,适应不同屏幕尺寸和分辨率。 5. 触摸和手势...

    Windows Phone Curriculum_sm

    课程详细涵盖了Windows Phone的设计原则、XAML基础、在Expression Blend中的布局和动画制作以及视觉状态管理器的使用。 METRO设计原则是Windows Phone应用设计的核心,它包括以下要点:METRO设计强调动态效果、内容...

    windows phone 开发在线教程

    - 理解布局控件如Grid、StackPanel等的作用。 - **数据绑定**: - 掌握数据绑定的基本概念。 - 学会如何使用数据模板来展示复杂的数据结构。 - **导航与路由**: - 理解页面之间的导航机制。 - 实现页面之间的...

    Windows Phone 7高级编程

    - 学习Silverlight的基本元素,如布局控件(Grid, StackPanel, WrapPanel等)、用户界面元素(TextBlock, Button, Image等)和数据绑定。 - 掌握Silverlight的动画和转换,以实现流畅的用户体验。 3. **XNA ...

    Windows Phone7完美开发征程 源代码

    开发者可以使用XAML(Extensible Application Markup Language)来定义界面元素和布局,包括Grid、StackPanel、ListBox等控件。同时, Mango更新引入了数据绑定和模板,使得UI与数据模型更加紧密地结合,提高可复用...

    Windows_Phone_7入门经典-使用Silverlight和XNA开发Windows_Phone应用

    - **布局控件**:常用的布局控件有Grid、StackPanel、DockPanel等,它们帮助开发者管理界面上各个元素的位置和大小。 - **交互控件**:如Panorama、Pivot等,这些控件提供了独特的用户交互方式,增强了应用的吸引力...

    Absolute Beginners Series For Windows Phone8

    最后,第十部分标题在内容概述中被截断,但可以推测它可能涉及“数据绑定应用”的概述,这可能是关于如何在应用程序中使用数据绑定技术进行数据展示和交互的详细介绍。 整体来说,该系列书籍是为初学者提供了从零...

    windowsphone开发范例

    范例中的文件可能包含了各种控件的使用,如Button、TextBox、ListBox等,以及布局管理(如Grid、StackPanel、Canvas)的示例。 3. **C#编程**:作为后台逻辑的主要语言,C#提供了丰富的功能和类库来处理数据、网络...

    一个非常好的资源Windows Phone 8 Developer Docs 2p

    - 布局管理:探讨Grid、StackPanel、WrapPanel等布局容器的使用,以及自定义布局的实现。 - 控件库详解:涵盖按钮、文本框、列表视图等常见控件的使用方法和事件处理。 4. **数据绑定与本地存储**: - 数据绑定...

    《Windows Phone 7高级编程》随书源代码

    源代码包含了各种使用Silverlight控件和布局的示例,如Grid、StackPanel和ListBox等。 2. ** Mango 更新**:在Windows Phone 7的生命周期中,Mango更新是一个重要的里程碑,它引入了许多新特性和改进。书中可能包含...

    101 Windows Phone 7 Apps 源代码

    例如,Grid、StackPanel和Canvas等布局容器,以及Button、TextBlock和Image等UI元素。 4. **Data Binding and MVVM**: 数据绑定是将UI与数据模型连接的关键技术,而Model-View-ViewModel (MVVM)设计模式是Windows ...

    Windows phone 7 高级编程源码

    首先,源码中可能涵盖了关于UI设计的部分,包括控件的使用、布局管理(如Grid、StackPanel和Canvas)以及数据绑定和模板。数据绑定是Windows Phone 7开发中的核心概念,它简化了UI与后台数据的同步。此外,还可能...

    XapNote - 四天玩转 Windows Phone 开发 | 第四天

    在本课程“XapNote - 四天玩转 Windows Phone 开发 | 第四天”中,我们将深入探讨如何使用微软的开发工具和技术构建一个针对Windows Phone平台的应用程序,特别是一个简单的记事本应用。该教程基于微软官方的Windows...

    windowsphone动态瓷砖

    1. **XAML布局**:Windows Phone应用开发主要使用XAML(Extensible Application Markup Language)进行界面布局,动态瓷砖的视觉效果通过XAML中的Grid、StackPanel等元素以及相关的触发器(Triggers)和故事板...

    windows phone 开发视频下载地址

    这部分内容可能会详细介绍如何在Windows Phone应用程序中使用DateTime对象来表示日期和时间,以及进行日期时间相关的计算和格式化操作。 ### 三、理解并创建类(Understanding and Creating Classes) 类是面向...

Global site tag (gtag.js) - Google Analytics