废话不多说,接下来直接开始介绍WPF-UI界面-Grid面板

如图就是创建好了的一个WPF项目,整个界面被一个Window窗体包含起来,上面类似于什么什么网址什么的其实就相当于.net的命名空间,缺什么引用的时候,就会提示你缺少引用,那么只需要引用进来就行了。

x:Class=“滴滴滴”,这个“滴滴滴”的内容就是所创建窗体的目录,比如这个就是我创建的MVVMText项目,在Views文件夹下的Login视图。

Title就是窗体最上方的标题,Height和width就是窗体的高度和宽度了,这些都可以自己手动修改定义。

接下来进入正题,什么是Grid,Grid我理解的一个含义就是-单元格。对,就是Excel的单元格,每个单元格里面都可以装一些我们需要的控件。但我们装控件前,必须要为它写一个结构,就比如说整体的一个行列,需要多少行,需要多少列。

在这个Grid里面,首先有Grid.ColumnDefinitions和Grid.RowDefinitions,这两个的含义就是给这个Grid定义2列3行的这样一个网格(一行就不用定义了,默认为一),在设置列和行的数量时,我们可以去定义第几列第几行的一个宽度和高度,*表示填充满剩下的空间,auto表示自动给空间一个刚好的空间,而数字+*的这种组合就是对应的比例,比如说我定义了3*,2*和4*,其意义就是对应的3:2:4的比例来分布大小。接着在Grid里面放入我的控件,可以看到控件里面有Grid.Column和Grid.Row这两个属性,这两个的属性意思是这个控件所在的列与行,第一行第一列默认从0开始依次根据自己的需求来进行放入。HorizontalAlignment表示水平方向,这里代表控件在水平方向居中,意思就是当这个定义的单元格的行大于控件大小的高则控件在水平方向上的居中位置显示。VerticalAlignment则表示垂直方向上的位置了。今天简单的介绍了一下Grid面板布局,在实际项目运用中,熟练掌握这最常用的Grid就完全够用了,在初始布局时一定要先想好给每行每列对应的宽高值,用这个值来限定控件的大小,尽量不要手动去设置控件大小(当然有些控件是必须要去手动设置的如:Button),一个Grid里面可以放置多个Grid,定义多个Grid的宽高,所以,当有些比较复杂的UI时候,首先想好这个UI分成几行几列,然后每行每列是否里面还包含了有多行多列,这个时候就可以去用多个Grid来做了。

最后一句忠告:初学者千万千万别拖控件啊,偷懒的效果是没用的。WPF界面必须要手把手的敲,拖控件简直是流氓行为。

从新手小白到老手大白的成长之路第二弹-WPF之UI界面之Grid面板的更多相关文章

  1. 从新手小白到老手大白的心路历程-First Blog

    本人于2019年毕业重庆市某一所乡间大学,所学专业方向是.net,至今已经工作了1个多月了,天天被上司骂,还差点儿被开除,但我死皮赖脸的勉强的“活”了下来,在今后的日子里面,我会陆续的分享我的成长经历 ...

  2. Python成长之路第二篇(1)_数据类型内置函数用法

    数据类型内置函数用法int 关于内置方法是非常的多这里呢做了一下总结 (1)__abs__(...)返回x的绝对值 #返回x的绝对值!!!都是双下划线 x.__abs__() <==> a ...

  3. python成长之路第二篇(4)_collections系列

    一.分别取出大于66的数字和小于66的数字 小练习:需求要求有一个列表列表中存着一组数字,要求将大于66的数字和小于66的数字分别取出来 aa = [11,22,33,44,55,66,77,88,9 ...

  4. Python成长之路第二篇(3)_字典的置函数用法

    字典的置函数用法(字典dict字典中的key不可以重复) class dict(object): """ dict() -> new empty dictionar ...

  5. Python成长之路第二篇(2)_列表元组内置函数用法

    列表元组内置函数用法list 元组的用法和列表相似就不一一介绍了 1)def append(self, p_object):将值添加到列表的最后 # real signature unknown; r ...

  6. python成长之路——第二天

    cpython:c解释器  .pyc(字节码)——机器码 jpython :java解释器   java字节码   ironpython :C#解释器   C#字节码   .... 上面的:编译完之后 ...

  7. 我的Python成长之路---第二天---Python基础(8)---2016年1月9日(晴)

    数据类型之字典 一.字典简介 字典dict(dictionary),在其他语言中也成为map,使用键-值(key-value)的形式存储和展现,具有极快的查找速度. 字典的定义 d = {'key': ...

  8. 我的Python成长之路---第二天---Python基础(7)---2016年1月9日(晴)

    再说字符串 一.字符串的编码 字符串的编码是个很令人头疼的问题,由于计算机是美国人发明的,他们很理所当然的认为计算机只要能处理127个字母和一些符号就够用了,所以规定了一个字符占用8个比特(bit)也 ...

  9. 《菜鸟程序员成长之路:从技术小白到阿里巴巴Java工程师》

    <菜鸟程序员成长之路:从技术小白到阿里巴巴Java工程师> 国庆节快乐!一年一度长度排第二的假期终于来了. 难得有十一长假,作者也想要休息几天啦. 不管你是选择出门玩,还是在公司加班,在学 ...

随机推荐

  1. Java实现自定义注解开发

    Java实现自定义注解开发 一直都对注解开发挺好奇的,最近终于有时间自己实践了一把,记录一下 万一后期会用到呢 哈哈哈 首先我们了解一下自定义注解的标准示例,注解类使用 @interface 关键字修 ...

  2. Web安全测试学习笔记 - DVWA+PHP环境搭建

    DVWA(Damn Vulnerable Web Application),是一个用PHP编写的,作为Web安全测试练习平台的合法环境(毕竟咱不能为了练习就随便找个网站去攻击...),也就是俗称的靶场 ...

  3. vue安装遇到的5个报错小结

    前言 这篇博文不会教你怎么安装vue,但会告知安装过程中可能遇到的5个问题 2017年我写过一篇安装vue的博客,详情:https://www.cnblogs.com/tu-0718/p/752109 ...

  4. js实现post方式的异步请求

    <%@ page contentType="text/html;charset=UTF-8" language="java" %><html& ...

  5. Android studio将一个项目作为module导入另一个项目

    有两个Android项目,一个为pozhudl,一个为app,现在欲将pozhudl项目作为module导入到app中,并调用pozhudl项目中的类 先在pozhudl项目的build.gradle ...

  6. MySQL常见的8种SQL错误用法

    MySQL常见的8种SQL错误用法 前言 MySQL在2016年仍然保持强劲的数据库流行度增长趋势.越来越多的客户将自己的应用建立在MySQL数据库之上,甚至是从Oracle迁移到MySQL上来.但也 ...

  7. CodeForces - 1230D(思维+位运算)

    题意 https://vjudge.net/problem/CodeForces-1230D 要组建一个小组,要求小组中每个人都不比所有人强,当一个人懂得一个算法但是另一个不懂那么前者认为他比后者强. ...

  8. 使用java代码操作Redis

    1导入pom.xml依赖 <dependency> <groupId>redis.clients</groupId> <artifactId>jedis ...

  9. Less(5)

    考查点:双查询报错注入 1.先判断注入类型 (1)首先看到要求,要求传一个ID参数,并且要求是数字型的:?id=1 (2)再输入?id=1' 显示报错,报错多了一个单引号 (3)再输入?id=1'' ...

  10. Java面试题的个人总结

    面试总结 第一轮:电话初面 第二轮:技能面谈[技能职位尽量避免多谈处理上的作业] 第三轮:高管复试 第四轮:HR终究供认 一面:首要供认对阿里的意向度(假定异地更会考虑对作业地址(杭州)的意向度!阿里 ...