在WPF中,经常使用Grid容器,来布局我们想要显示的对象。

这就不可避免的要和布局在其中的控件的VerticalAlignment特性,HorizonAlignment特性,以及Magin特性打交道。

如果在Grid中放置了一个Rectangle控件,对Rectangle又设置了VerticalAlignment,HorizonAlignment,Magin,

那么,是怎么来显示的呢?

1,如下图所示,如果为Rectangle设置了VerticalAlignment=Top,HorizonAlignment=Left ,Margin=“50,20”

将会显示为这个样子。Top表示在竖直方向上靠上(相对于Grid),Left表示在水平方向上靠左(相对于Grid)。

Margin中的50和20,分别表示距离Grid的左边界和上边界的距离为50,20。此时,再设置Marin的Right和Bottom,

是无效的,也就不要再写Margin后两位的值了。

2,如下图所示,如果为Rectangle设置了VerticalAlignment=Bottom,HorizonAlignment=Right ,Margin=“30,20”

将会显示为这个样子。Bottom表示在竖直方向上靠底部(相对于Grid),Right表示在水平方向上靠右(相对于Grid)。

Margin中的50和20,分别表示距离Grid的右边界和下边界的距离为30,20。此时再设置Margin的Left和Top的值,是无

效的,即使设置了,系统也会按照Margin的后两位值来布局。

通过以上两点可以看出,Grid容器中,还是以VerticalAlignment和HorizonAlignment的特性值为主,Margin

的特性值为辅。Marign的特性值,按照VerticalAlignment和HorizonAlignment的特性值,来起效。

本来自己就是一个方向感不强的人,俗称路痴,今天晚上豁然明白,与大家共享。

WPF中Grid容器中VerticalAlignment和HorizonAlignment和Margin的关系。的更多相关文章

  1. WPF遍历当前容器中某种控件的方法

    原文:WPF遍历当前容器中某种控件的方法 版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.net/m0_37591671/article/details/79 ...

  2. Extjs中grid表格中去掉红三角

    在编辑Extjs的gridpanel的时候,数据有错误或是修改在每个单元格上都会出现红色的小三角,在每个列上面可以配置allowBlank: false来标识这个不可以为空 有的时候在保存数据时如果不 ...

  3. spring中获取容器中的Bean为什么前转成接口而不是实现类

    简单介绍一下上下文,userService是服务层接口有一个save方法,userServiceImpl是该接口的实现类重写了save方法. applicationContext.xml如图: 后台代 ...

  4. ios 中在容器中移除单个控件的两个方法Subview

    我们知道[parentView removeFromSuperView];  会把全部的view都移除.以下我们可以通过给subView设一个tag,然后遍历所有的subView,找到目标subVie ...

  5. c++中STL容器中的排序

    1.c++STL中只有list自带了排序函数: (1).若list中存放的是int类型或者string类型,直接利用sort即可: list <int> list1;           ...

  6. 隔离 docker 容器中的用户

    笔者在前文<理解 docker 容器中的 uid 和 gid>介绍了 docker 容器中的用户与宿主机上用户的关系,得出的结论是:docker 默认没有隔离宿主机用户和容器中的用户.如果 ...

  7. docker容器中启动kvm虚拟机

    .安装docker yum install docker systemctl start docker.service systemctl enable docker.service .拉取cento ...

  8. 算法求解中的变量、数组与数据结构(STL 中的容器)

    本质上算法都是对数据的操作,没有数据,没有存储数据的容器和组织方式,算法就是无源之水无本之木,就是巧妇也难为无米之炊.算法是演员,变量.数组.容器等就是舞台, 然后整个算法的处理流程,都是针对这些数据 ...

  9. Docker windows nano server容器中安装ssh实现远程登录管理

    [问题] 使用ServiceMonitor.exe作为前台进程运行起来的容器无法attach. 无法远程连接到运行中的容器中进行管理. [解决方法] 在container中新建管理员用户,通过SSH实 ...

随机推荐

  1. Matrix Chain Multiplication UVA - 442

    Suppose you have to evaluate an expression like ABCDE where A,B,C,D and E are matrices. Since matrix ...

  2. ES系列(三):网络通信模块解析

    ES是一个分布式搜索引擎,其除了用户提供必要的通信服务外,集群间也必须保持紧密的通信联系,才能在必要的时候给出正确的结果.其则必然涉及到各种繁多且要求高的通信场景,那么如何实现高性能的通信,则是其必须 ...

  3. 【接口设计】用户积分排行榜功能-Redis实现

    一.排行榜功能简介 排行榜功能是一个很普遍的需求.使用 Redis 中有序集合(SortedSet)的特性来实现排行榜是又好又快的选择. 一般排行榜都是有实效性的,比如交通数据流中的路口/路段的车流量 ...

  4. Python小程序 -- 人民币小写转大写辅助工具

    大家应该都知道,银行打印账单有时候会跟上人民币的阿拉伯数字以及人民币汉字大写写法,转换的过程中有一定的逻辑难度,较为麻烦,所以笔者心血来潮,花了点时间简单实现了一下这一转换过程,以供初学者参考. 输入 ...

  5. hdu4539 郑厂长系列故事——排兵布阵 + POJ1158 炮兵阵地

    题意:                  郑厂长系列故事--排兵布阵 Time Limit: 10000/5000 MS (Java/Others)    Memory Limit: 65535/32 ...

  6. 学习Canvas绘图与动画基础 canvas入门(一)

    一.创建canvas 1 <!DOCTYPE html> 2 <html> 3 <head lang="en"> 4 <meta char ...

  7. 十进制转n进制

    #include <stdio.h> #include <stdlib.h> #define OK 1 #define ERROR 0 #define TRUE 1 #defi ...

  8. PHP使用引用实现无限极分类

    PHP实现无限极分类 引用 <?php /** * 无限极分类实现 * @param $list array 需要处理的数组 * @param $pk string 主id * @param $ ...

  9. PHP逐行解析文件,并写入数据库

    $filePath为文件路径,上传文件则返回文件路径调用下面函数即可public function readText($filePath,&$errorCode,&$errorMess ...

  10. 【转】python SQLAlchemy

    数据库表是一个二维表,包含多行多列. 把一个表的内容用Python的数据结构表示出来的话,可以用一个list表示多行,list的每一个元素是tuple,表示一行记录,比如,包含id和name的user ...