小麦子-WPF学习系列2:XAML入门
2017-11-28 23:49
211 查看
自己也才刚入门,只是做个总结,方便大家理解,欢迎拍砖。
<Window x:Class="WpfApplication5.MainWindow" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" **Title="MainWindow" Height="350" Width="525"**> **<Grid> <Button Content="Button" Name="button1" Width="75" /> <Label Content="Label" Height="28" Margin="202,149,0,0" VerticalAlignment="Top" /> </Grid>** </Window>
(我们现在只看黑体的,其它先不管)别的软件一上来就可以在窗体上拖拖拖,而在XAML中,一个窗体只能容纳一个控件,所以这个控件我们一定要选择一个面板类型的,面板上没有数量限制,我们就可以在面板上拖拖拖了。面板类型很多,书和视频上都有介绍,默认情况下用的是Grid。对于UI设计,传统的,可以拖控件,也可以在C#中写,但这里我们主要学习XAML+控件形式,因为WPF的一个特点就是将UI代码与UI后面的逻辑代码分开,便于分工,因此我们就按照这个模式学习。 软件界面有一个文本大纲,上面有一个ViewTree结构,和我们毕业论文大纲是一样的,这里表示的是UI界面也是这样一个大纲。Window是第一级,Grid是第二级(由于窗体只有一个控件,因此只有一个第二级),Button和Label是第三级,当然还有第四级、第五级,不过这里就要注意了,第三级已经具体到某个控件了,所以再往下,一般就是一些控件的属性及元素了,简单点就是控件的修饰。元素还有属性相信大家在书中看过,这里就说一下自己的总结。 以Button为例,Content Name Width都是它的属性,当然还有很多,写出来就是显性表示,没写出来就是隐性(有点像基因),关于尺寸大小的属性尽量不要显示表示(如果窗体变化,而控件尺寸固定,就不好了)。然鹅,除了这种写法,还有别的写法:
<Grid> <Button> <Button Content ="Button" /> <Button Name="button1" /> </Button> </Grid>
很明了,这样写层次感比较好。所以两种写法看个人喜好,我的选择是属性较少就用第一种,属性较多且有多个控件时(比如有4-5个Button都要属性赋值),选择第二种,看起来舒服。 最后总结一下一些常见的属性: Name:控件名称,重要 Height Width Background:背景颜色 Content:Button内容 Text:TextBlock内容 HorizontalAlignment :水平停靠 HorizontalContentAlignment :文字水平停靠 VerticalAlignment:垂直停靠 VerticalContentAlignment:文字垂直停靠 Margin:框体边距 Grid.Row: Grid.ColumnSpan:跨列 ...... 其它的再在具体的控件里面总结。
相关文章推荐
- 小麦子-WPF学习系列1:初识WPF
- WPF入门教程系列一——基础 一、 前言 最近在学习WPF,学习WPF首先上的是微软的MSDN,然后再搜索了一下网络有关WPF的学习资料。为了温故而知新把学习过程记录下来,以备后
- 小麦子-WPF学习系列3:一个完整的界面案例
- WPF从入门到放弃系列第二章 XAML
- WPF学习系列012: 2.7.4 XAML 扩展部分
- WPF学习记录-布局[摘抄自博客园(xiepeixing<WPF布局该如何选用panel>与(DotNet菜园<WPF入门教程系列七——布局之WrapPanel与StackPanel(二)>))]
- WPF学习系列013: 2.8 编译:将 XAML 与过程式代码混合使用
- WPF学习系列015: 2.8.2 编译 XAML
- WPF学习系列016: 2.8.3 XAML 关键字
- 【WPF系列】基础学习-XAML
- WPF学习系列002: 2.1 XAML 定义
- WPF零基础入门系列(三) XAML基础
- Linux学习系列之Linux入门(二)Vim学习
- 李浩学习计算机系列笔记——ADO.NET基础入门
- 数据结构入门学习系列-8(栈的经典算法用例)
- 学习SpringMVC系列教程(一)Spring MVC入门
- Quartz 入门系列教程-04-Triggers 深入学习
- Lua入门系列----pil学习笔记之Type and Values (2)
- Maven系列学习(1)-maven入门
- 激活引入非线性,池化预防过拟合(深度学习入门系列之十二)