分析Silverlight Button控件布局
作者:nasa 来源:我和未来有约会 发布时间:2009-02-17 13:13:00
标签:Silverlight,button,布局,控件,技术
Silverlight也算一个比较开放的技术。Button控件其实也是一些标准的Grid、Canvas、Rectangle、TextBlock组成的。(图1)
要做到按钮的宽度和高度根据字体大小和字数自动适应,其实就是调整好Layout,做以一个能自适应的界面。在Silverlight中Grid这个容器是能自适应的。是把字体TextBlock放到一个Grid中,对这个TextBlock设置相当Grid的边距,就好像是html中Margin的概念一样。(图2)别的元素也是一样在TextBlock下层是有Rectangle等元素是来制作背景色、边框色,在TextBlock的Rectangle用来制作高光,他们都容纳在Grid中。
在微软官方的控件中TextBlock用contentPresenter来代替。contentPresenter可以简单的理解成一个容器但是只能容纳一个对象。这个对象也可以再是一个容器比如Canvas、Grid、StackPanel等。
其中上边所提到的元素都没有强行的设置他们的Width和Height。
这样在使用中有两种制定他们大小的方法
一是设置最外层的Grid的Width和Height属性,因为内部的元素都是相当Grid做的布局,所以他们都会自适应外层的宽高。指定里边的一个元素的尺寸也会对外层的Grid产生作用。
再一个是设置Grid相对其夫级控件的边距。其效果能更灵活一些更能做自适应布局。
容器控件多的时候可能会用混淆。明确上一个概念“夫控件只对其子控件产生布局”。
0
投稿
猜你喜欢
- 1、ValueError: Invalid control character at: line 1 column 8363 (char 8
- 1、tox 能做什么?细分的用途包括:创建开发环境运行静态代码分析与测试工具自动化构建包针对 tox 构建的软件包运行测试检查软件包是否能在
- 之前项目有一个需求,业务人员使用中文编写一些自定义公式,然后需要我们后台执行将结果返回到界面上,于是就基于有限状态机写了这个词法分析器,比较
- 1.join函数的语法及用法(1)语法:'sep'.join(sep_object)参数说明sep:分割符,可为&l
- 比如说如果设置为例外,那么里面的.py文件就不会被IDE索引,所以语法提示也不会包括里面的内容sys.path.append('..
- 作为 Web 设计者,我们希望实现鹤立鸡群的设计,要做到这一点,要开阔眼界。欧美同东方的 Web 设计很不同,因为属于不同的文化。韩国不仅为
- 1:下载FCKEditor编辑器下载下来后解压到你网站的目录,最好就放在根目录下,文件夹名字就用FCKEditor;这里可以随便自己喜好,但
- undetected_chromedriver是专门针对浏览器识别做出来的拓展直接使用undetected_chromedriver第三方库
- provide和inject的用法(vue组件爷孙传值)聊聊概念成对出现:provide和inject是成对出现的作用:用于父组件向子孙组件
- 前言相信大家初入某个项目,一般都要看代码。有时候,想把代码文件打印下来看,不过一般代码文件数量都在两位数或更多,逐一打开、打印,确实太耗费精
- 阅读上一篇:交互设计模式(二)-Pagination(分页,标记页数) Tagging(标签)问题摘要用户往往想通过流行或最详尽的主题来浏览
- 调整形状 调整形状 reshape, resize, flatten
- Mysql 删除重复数据保留一条有效数据一、Mysql 删除重复数据,保留一条有效数据DELETE FROM SZ_Building WHE
- datasets.ImageFolder是PyTorch提供的一个预定义数据集类,用于处理图像数据。它可以方便地将一组图像加载到内存中,并为
- 如何让页面超时并指定一个超时时间?下面就是利用缓冲的程序页面事例: <%@ OutputCache Du
- 一、简介shutil是 python 中的高级文件操作模块,与os模块形成互补的关系,os主要提供了文件或文件夹的新建、删除、查看等方法,还
- 1. 简介有些时候在项目中,使用配置文件来配置一些灵活的参数是比较常见的事,因为这会使得代码的维护变得更方便。而ini配置文件是比较常用的一
- 前言emmm…9月1日开学季,手头只有红底证件照,但是学院要求要蓝底,这可咋办呢。懒得下ps了。自己撸起来吧。方法一:
- 之前看到过很多人写的飞机大战,当然了之前我也写过多个版本,总体来说功能是实现了,但总感觉不够“炫”今天浏览Python资料的时候,意外发现了
- 一、IDEA连接MySQL数据库(一)首先新建普通Java项目(二)连接数据库1、点击右侧DataBase2、点击加号,找到MySQL,添加