canvas教程

c#学习之30分钟学会XAML(3)

字号+ 作者:H5之家 来源:H5之家 2017-09-06 12:03 我要评论( )

WrapPanelButton Content="btn1" /Button Content="btn2" /Button Content="btn2" /Button Content="btn2" /Button Content="btn2" /Button Content="btn2" /Button Content="btn2" /Button Content="btn2" /Button

<WrapPanel> <Button Content="btn1" /> <Button Content="btn2" /> <Button Content="btn2" /> <Button Content="btn2" /> <Button Content="btn2" /> <Button Content="btn2" /> <Button Content="btn2" /> <Button Content="btn2" /> <Button Content="btn2" /> <Button Content="btn2" /> </WrapPanel>

生成的界面如下:

由此可知,WrapPanel默认的布局是横向,等到右边没有空余,其余的控件将从第二行开始重新排列。

如果将其Orientation属性设置Vertical那么排列将会从左上角开始,从上到下排列,下面没有空余将会从第二行开始从上而下重新排列。如下xaml:

<WrapPanel Orientation="Vertical"> <Button Content="btn1" /> <Button Content="btn2" /> <Button Content="btn2" /> <Button Content="btn2" /> <Button Content="btn2" /> </WrapPanel>

窗体布局如下:

由上可知,WrapPanel主要提供的功能是从窗体左上角开始,多控件的自动换行。

第二个总结:

WPF中的布局除此之外还有如下的几种:abPanel, ToolBarOverflowPanel, ToolBarPanel, UniformGrid, VirtualizingPanel, VirtualizingStackPanel,它们都派生于Panel抽象类,内容属性Children可以添加多个控件。它们藉此来控制控件的布局。

3.2 控件

其实布局也是控件的一种,但是单独讲布局列出来。因为布局在WPF中占据着异常重要的地位。接下来,主要说一下其他的控件,大体上,除了布局之外的控件可以分为以下的三类。

第一类:核心用户输入控件,用户创建用户界面的核心。其中比较常用的有Button、RadioButton、ComboBox、CheckBox、DataGrid、ListBox、ListView、TreeView、TextBlock、TextBox、Label。

第二类:窗口修饰控件,这些元素用于装饰Window对象的框架。其中常用的有Menu、ToolBar、StatusBar、ToolTip、ProgressBar。

第三类:媒体控件,支持音频/视频的重放和图像的显示。其中比较常用的控件有Image、MediaElement、SoundPlayerAction。

下面分别说说每类控件的基本功能。

一、 核心用户输入控件

1、 Button、RadioButton,Button控件的基础用法,主要是处理单击Button的时候对单击事件处理的方式。Button的单击事件是通过Click特性声明,其模式主要有三种:

Release:Button被按下然后松开时发生单击事件

Hover: 鼠标悬停在按钮上方引发单击事件

Press:当单击按钮时引发单击事件

我们可以利用Button单击事件的模式设置我们想要的点击控件的效果。

Button是内容控件,我们可以给它的内容设置其他的东西,比如下面的代码,就是给一个Button按钮设置图片:

<Button x:Name="ImageButton" Margin="3" Grid.Row="1" HorizontalAlignment="Left"> <StackPanel Margin="1" Orientation="Horizontal"> <Image Source="back.bmp" Stretch="UniformToFill"/> <TextBlock /> <TextBlock Text="图片按钮" Margin="1,15,1,1"/> </StackPanel> </Button>

除此之外,我们还可以给Button设置不同的样式,使得它变得好看。涉及到了样式、模板和触发器,在此不过多陈述。

RadioButton和Button都是继承自ButtonBase类,所具有的基本属性是相同的,用法也大同小异。

2、 ComboBox控件,表示带有下拉列表的选择控件,通过单击控件上的箭头可显示或隐藏下拉列表。用法如下:

<ComboBox> aaa </ComboBox>

其中Item表示下拉项,可以自己设定也可以通过Binding获得。界面编辑器在ComboBox的属性里面有一个Items集合,用来设定ComboBox的选项。Binding所用到的属性是ItemsSource属性。效果如下图:

ComboBox控件选中事件可以从其选中项的SelectedItem的属性来binding事件处理逻辑。

3、 CheckBox控件,表示用户可以选择并清除的控件。其用法形式如下:

<CheckBox> Content </CheckBox>

效果如下图所示:

CheckBox控件主要用来处理三个事件,选中事件Checked、Unchecked,以及影响外观的Indeterminate事件,可以分别在后台显示三者的处理逻辑。

<CheckBox x:Name="cb1" Grid.Row="1" Margin="5,0,0,0" Content="Three-state CheckBox" IsThreeState="True" Checked="HandleCheck" Unchecked="HandleUnchecked" Indeterminate="HandleThirdState" />

4、 DataGrid、ListBox、ListView、TreeView,都是用来以行列形式显示的控件,前三个都是几行几列的形式,而最后一个TreeView则是显示出来一种树形结构。

以上几种控件可以用来进行数据绑定xml数据或者是数据库,每一种都有不同的形式。基本的显示图如下所示:

TreeView:

而TextBox也可以用来做数据绑定,可以关联其他的控件对象,来实现想要显现的效果。

核心用户输入控件,除了上面列出来的这些之外,还有许多,例如:Calendar、Slider、TabControl等等,它们一起构成了WPF的完整的输入控件族,是用户创建界面的核心。

二、 窗口修饰控件

1、 Menu控件,菜单控件,相信大家都不陌生,先看下面的xaml:

 

1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。

相关文章
  • L3如何鼓励学习之旅?

    L3如何鼓励学习之旅?

    2017-08-29 17:00

  • Android小白的探索:2D绘图之Android简易版Microsoft Visio学习之路 一

    Android小白的探索:2D绘图之Android简易版Microsoft Visio学习之路

    2017-08-28 17:04

  • (89)Canvas(续) · Qt 学习之路 2 · 看云

    (89)Canvas(续) · Qt 学习之路 2 · 看云

    2017-08-28 14:03

  • 人人都要学会使用的ES6语法与技巧

    人人都要学会使用的ES6语法与技巧

    2017-08-15 17:03

网友点评