`
charrysong
  • 浏览: 50425 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

Expression Blend实例中文教程(5) - 布局控件快速入门StackPanel

阅读更多

 

上一篇,介绍了Canvas布局控件在Blend中的使用。本篇继续介绍布局控件StackPanel,ScrollViewer和Border。

相对于Grid和Canvas来说,StackPanel,ScrollViewer和Border是比较简单的布局控件,实现的功能相对来说单一。

首先来说说StackPanel控件。从字面意思理解,是堆栈面板的意思。堆栈内的所有内容将按照顺序进行排列,排列方式分水平排列和垂直排列两种方式。

对于StackPanel的使用,主要是对控件水平或者垂直排列,使用该控件排列控件,比Grid设置表格控制要容易很多。

例如,在Grid中要设置Row和Column,然后将控件放置到各个Cell中,才能达到对齐布局的效果,而在StackPanel中只要使用Orientation属性控制就可以了。

这里我们简单演示一下,在Blend中应用StackPanel

选中StackPanel后,在主窗口画一个StackPanel容器。

然后选择按钮控件,在StackPanel中,画一个高为30的按钮。然后选中该按钮,复制创建三个新按钮,在复制粘贴的时候,会发现,每次创建一个新按 钮会在布局中自动向下排列。这点和Grid和Canvas不同,在Grid和Canvas中复制粘贴控件,将会自动覆盖上一个控件,需要用ZIndex控 制其位置。

选中StackPanel,查看右边Properties属性栏,其中Layout中多了一个Orientation选项,默认为Vertical垂直排列。

点击展开下拉菜单,可以看到Horizontal水平排列,选中后,以上四个按钮分布将自动以水平方式排列。

和Grid相同,StackPanel也支持Margin和Horizontal Alignment,Vertical Alignment属性,这里我就不在赘述,详细大家可以看“布局快速入门Grid”

 

ScrollViewer控件 ,是从WPF中移植来的,针对大内容控件的布局控件。由于该控件内仅能支持一个子控 件,所以在多数情况下,ScrollViewer控件都会和Stackpanel,Canvas和Grid相互配合使用。如果遇到内容较长的子控 件,ScrollViewer会生成滚动条,提供对内容的滚动支持。

创建一个ScrollViewer控件,会看到该控件右边自带滚动框,

我们将上例拖拽进新创建的ScrollViewer控件,Blend会提示按“Alt”将拖拽控件放入ScrollViewer,

放置成功后,由于内容过长,ScrollViewer的滚动条自动激活。对于ScrollViewer的滚动条,可以通过Properties属性栏进行设置控制,可以禁用,隐藏,或者设置仅在需要时候自动显示。

HorizontalScrollBarVisibility和VerticalScrollBarVisibility属性:

Auto = 仅在需要时候自动显示滚动条

Disabled = 禁用滚动条

Hidden = 隐藏滚动条

Visible =显示滚动条

 

Border控件 ,是最简单的布局控件,也是最早期的一款Silverlight布局控件,该控件允许用户创建一个带有边框的布局控件。使用Border控件唯一需要注意的是该控件内仅能支持一个子控件。

在Blend中,绘制Border控件同样很简单,

 

将上例中的StackPanel拖拽进新创建的Border控件。

Blend会提示按着“Alt”是将控件放置在Border中,否则将修改Margin进行重新布局。这里我们按着Alt,完成拖拽。

Blend自动生成XAML代码如下:

 

1 <Border Margin="154,17,22,80" Grid.Column="1" Grid.Row="1" BorderBrush="Black" BorderThickness="1">
2     <StackPanel Margin="20,12,25,15" Orientation="Vertical">
3         <Button Height="30" HorizontalAlignment="Left" Margin="8,0,0,0" Width="103" Content="Button"/>
4         <Button Height="30" HorizontalAlignment="Left" Margin="8,0,0,0" Width="103" Content="Button"/>
5         <Button Height="30" HorizontalAlignment="Left" Margin="8,0,0,0" Width="103" Content="Button"/>
6         <Button Height="30" HorizontalAlignment="Left" Margin="8,0,0,0" Width="103" Content="Button"/>
7     </StackPanel>
8 </Border>

 

其中BorderBrush是边框颜色;

BorderThickness是边框的宽度;

修改以上两个属性,同样可以在右边的Properties属性栏进行修改。

 

至此,Silverlight的布局控件,我们已经介绍完了,笔者建议,在学习的过程中,还要配合实践,这样会达到熟练的效果。

如需转载请注明出处:http://www.ok22.org/art_detail.aspx?id=216 【Expression Blend实例中文教程(5) - 布局控件快速入门StackPanel】

分享到:
评论

相关推荐

    Expression Blend实例中文教程

    《Expression Blend实例中文教程》是一份专为Silverlight开发者准备的详细教程,旨在帮助学习者掌握这款强大的设计工具。教程采用中文讲解,便于国内用户理解并应用到实际项目中。以下将围绕教程中的核心知识点进行...

    Expression Blend实例中文教程系列

    《Expression Blend实例中文教程系列》是由CSDN社区Silverlight版主jv9精心编写的教程,旨在帮助开发者深入理解和高效使用Expression Blend这一强大的设计工具。教程分为基础篇和实例篇,作者以其丰富的实际开发经验...

    Sams - Microsoft Expression Blend Unleashed (SourceCode)

    3. **Chapter 5:UI设计基础**:这个章节可能涉及基本的控件使用、布局管理(如Grid、StackPanel等)、以及颜色、字体和样式设置。通过实例,读者可以学习如何使用Blend创建美观且响应式的用户界面。 4. **Chapter ...

    开发新技术展望系列课程(3):Expression Blend

    1. **界面设计**:讲解如何使用Expression Blend创建和编辑控件,包括布局容器(如Grid、StackPanel等)、形状、图像和文本等元素。还会介绍如何利用模板和样式来实现界面的统一和可重用性。 2. **数据绑定**:...

    beginning_silverlight_5_in_c_4th_edition

    - **布局管理**:此章节重点阐述了Silverlight中的各种布局控件,如Grid、StackPanel、DockPanel等,以及如何使用它们来构建灵活、响应式的用户界面。通过实例演示,帮助读者掌握不同场景下的布局策略。 ### 4. ...

    Windows Phone 7高级编程

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

    \WPF经典知识总结

    - **布局控件**:如`Grid`、`StackPanel`和`DockPanel`,用于控制UI元素的布局。 - **媒体控件**:如`Image`和`MediaElement`,用于显示图像和播放多媒体。 - **菜单和工具栏**:如`ContextMenu`和`ToolBar`,用于...

    WPF学习笔记

    - **布局容器**:`Grid`、`DockPanel`、`StackPanel` 等,用于组织 UI 控件的布局。 - **菜单控件**:`ContextMenu`、`Menu` 和 `ToolBar`,用于创建上下文菜单或工具栏。 - **导航控件**:`Frame` 和 `...

    Beginning Silverlight 4 in C#源码

    4. **控件与布局管理**:学习使用各种内置控件,如Button、TextBox、ListBox等,以及如何利用Grid、StackPanel和Canvas等布局容器组织控件。 5. **数据绑定与MVVM模式**:理解数据绑定的概念,学习如何将视图模型...

    SerialPort串口通信实例

    ** SerialPort串口通信实例详解 ** 在计算机编程中,串口通信是一种常见的硬件接口,用于设备间的数据传输。在Windows Presentation Foundation (WPF) 应用程序中,我们可以使用`System.IO.Ports.SerialPort`类来...

    Wrox.Silverlight.3.Programmers.Reference.Aug.2009.rar

    6. **控件与布局**:Silverlight提供了多种内置控件,如Button、TextBox、ListBox等,以及灵活的布局系统,如StackPanel、Grid和Canvas,帮助开发者构建复杂的用户界面。 7. **网络通信**:通过Http、SOAP、REST等...

    wp7手机应用开发文档

    文档将详细讲解如何利用Silverlight的控件库,如Grid、StackPanel、Button、TextBlock等,来设计和布局应用程序的界面。同时,还会介绍数据绑定和样式设定,使得UI更具响应性和可定制性。 其次,XNA框架在WP7开发中...

    Wiley-Professional.Silverlight.4.2010.RETAiL.EBook-DiGiBook

    ##### 第5章:面板控制布局 这里涉及的是Silverlight中用于布局管理的重要组件——面板(Panels)。读者可以学习到各种类型的面板(如Grid、StackPanel等)及其应用场景,从而更好地组织UI元素,构建美观且实用的...

    递增递减运算,WPF技术。

    xmlns:d="http://schemas.microsoft.com/expression/blend/2008" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" mc:Ignorable="d" Title="MainWindow" Height="350" Width="525"&gt; ...

    WPF,实现INotifyPropertyChanged例子

    5. **设置DataContext**:最后,在窗口的代码-behind文件中,将ViewModel实例设置为窗口的DataContext,使数据绑定生效。 ```csharp public partial class MainWindow : Window { public MainWindow() { ...

Global site tag (gtag.js) - Google Analytics