WPF Grid内控件布局方法
代码如下:
window下默认grid,gird有两行,然后分别加了一个button 和一个textblock
public MainWindow(){InitializeComponent();//为gird添加两行grid.RowDefinitions.Add(new RowDefinition() { Height = new GridLength(80, GridUnitType.Pixel) });grid.RowDefinitions.Add(new RowDefinition() { Height = new GridLength(80, GridUnitType.Pixel) });//加入一个button Button btn = new Button() {Height = 40,Margin = new Thickness(5, 0, 0, 0),Content ="this is a button",};grid.Children.Add(btn);Grid.SetRow(btn, 0);//加入一个TextblockTextBlock txtblock = new TextBlock() {Height = 40,Text = "this is a textblock",Margin = new Thickness(5, 0, 0, 0),Background=Brushes.Brown};grid.Children.Add(txtblock);Grid.SetRow(txtblock, 1);}
运行后是:
默认若不设置button和textblock的宽度的话,则是伸展开铺满整一行
但是textblock一般不用设置width,而button则是必须设置
给button加上宽度为60后,如下:
很明显,button默认居中了,对textblock设置宽度也是一样
也就是说在grid的布局中,容器是默认居中展开的,若设置宽度后,也是默认居中的
那么,若我现在想达到button靠左40像素,如何实现?
一般我们会设置margin,如给button设置margin为 new thickness(40,0,0,0),效果如下:
可以看到button在居中的前提下,又像右边移动了40像素,很明显这不是我想要的
若要实现靠左,那么最好是设置HorizontalAlignment属性为left
如下图:
若不加HorizontalAlignment,那么可以使用Margin=new Thickness(-100,0,0,0) 来实现
就是在居中的前提下,将靠左设置为负值,也就是向左强行移动100像素,那么也能实现相同的效果,但是不推荐这么做
总结:
Grid中的布局默认都是居中展开的,可以使用HorizontalAlignment属性和margin来快速的实现想要的效果
WPF Grid内控件布局方法相关推荐
- C# wpf 实现Grid内控件拖动
系列文章目录 第一章 Grid内控件拖动(本章) 第二章 Canvas内控件拖动 第三章 任意控件拖动 第四章 窗口拖动 第五章 附加属性实现任意拖动 文章目录 系列文章目录 前言 一.如何实现? 1 ...
- wpf 模板内控件在后台CS文件里面获取属性值
标题有点乱,但很难说的清楚 写了一年的WPF了 也用了近一年的MVVM CS文件能不写代码竟然少写,这是从业一年以来 前辈们教诲的,但很多问题MVVM模式很难说完全搞得定,比较编程这水看似深却不深,说 ...
- java把控件跑挂了_Java代码动态修改 ConstraintLayout 内控件布局的辅助类
##上图 ConstraintUtil.java import android.support.annotation.IdRes; import android.support.constraint. ...
- C# wpf 实现Canvas内控件拖动
系列文章目录 第一章 Grid内控件拖动 第二章 Canvas内控件拖动(本章) 第三章 任意控件拖动 第四章 窗口拖动 第五章 附加属性实现任意拖动 文章目录 系列文章目录 前言 一.如何实现? 1 ...
- 【Android 初学】3、控件布局初步
Start Android 什么是控件布局 所谓的控件布局方法,就是指控制控件在Activity当中的位置.大小.颜色以及其他控件样式属性的方法. 控件的布局,在android中,有两种方法: 1.使 ...
- Android笔记之Android基本控件布局与Activity的生命周期
前言 喜欢安卓里千奇百怪的app,酷炫的UI或者好玩的游戏.想知道那些软件是如何做的,为什么我在微博里发一条消息,就能一直存在网上,让别人看到?为什么我点击一个按钮就出现了一个效果,某个功能?为什么滑 ...
- WPF 绑定StaticResource到控件的方法
WPF 绑定StaticResource到控件的方法 原文:WPF 绑定StaticResource到控件的方法 资源文件内的属性能否直接通过绑定应用到控件?答案是肯定的. 比如,我们要直接把下面的& ...
- qt中QHBoxLayout或QVBoxLayout布局内控件的动态生成与显示
---恢复内容开始--- qt中QHBoxLayout或QVBoxLayout布局内控件的动态生成与显示 打个比方,我现在写个小例子,这个小例子是这样的,整个界面分为俩个部分,分为上半部分和下半部分, ...
- C#WPF实现TextBox控件水印效果的两种实现方法
C#WPF实现TextBox控件水印效果的两种实现方法 在WPF实际项目中往往需要在TextBox中加入水印,来告诉使用者输入TextBox中的内容,如下图片所示: 下面介绍两种方式,来添加上图中的水 ...
最新文章
- android mac测试地址,android获取有线网的Mac地址
- C++编程练习(5)----“实现简单的循环队列的顺序存储结构“
- 【USACO Mar08】 奶牛跑步 A-star k短路
- mysql数据库高级查询笔记_MySQL数据库基础——高级查询
- Discuz X3.2源码解析 discuz_application类(转自百度)
- Spring 自动装配 ‘byType’
- java文件重命名失败问题
- linux用户权限简介,Linux用户及权限管理
- linux dup用法,Linux:dup和dup2文件描述符及函数解析,dupdup2
- leapftp怎么下载文件,用leapftp怎么下载文件
- keepalived 健康检查机制说明
- 软件测试之如何测试数据?
- 100个python算法超详细讲解:委派任务
- 网页计算机谈音乐,如何用windows电脑录制网页上或电脑中自己的音乐
- linux自动补全命令插件,vim自动补全插件snipMate
- Ubuntu下安装Nvidia和Intel双显卡驱动
- 日语数量词及时间表示
- 江苏计算机自考考哪个学校,江苏2020年有哪些自考院校
- kubesphere_越南 ZaloPay 使用 KubeSphere 构建核心商户平台支持亿级用户
- CVE和CVSS计算
热门文章
- 安卓简单发送短信案例-qq盗号案例
- 中国快递的“无冕之王”要回港上市了? 管理层身家超刘强东!
- U9系统报错:Enterprise[9999] 不存在!
- 好强的英语句法(看了这些想不过四六级都难~~~)
- 查看Linux内核、CPU、内存及各组件版本的命令和方法
- 解析!如何从手机网站直接跳转到微信添加好友界面
- 分支限界算法 之 A*算法(启发式搜索算法)---九宫重排游戏(也称八数码问题)
- 干货丨加密数据迁移二三事
- 为什么INC,DEC指令不影响CF标志位呢?
- 华为OD机试真题Java_2022-2023-题目0188-网上商城优惠活动(一)