Ext.Net 控件Anchor布局-锚点布局
2013-08-28 23:05
281 查看
Ext.Net 控件Anchor布局-锚点布局
分类: Ext.Net2012-09-1217:25 223人阅读 评论(0) 收藏 举报
asp.netserverextjslayoutwebformext
1、锚点布局
有两个关键点:
为父容器控件设置Layout属性为Anchor;
为每个子容器控件设置AnchorValue属性,用来指定子容器控件的锚点布局参数。
2、Anchor的取值
Anchor可以由两个值组成,中间以空格分隔;也可以由一个值组成,此时第二个值就是默认值。
这两个值分别表示水平的锚点值和垂直的锚点值。Anchor可以由百分值或者整型值构成:
百分值
Anchor="100% 60%",表示此控件占据全部的宽度和60%的高度。
Anchor="100%",此控件占据全部的宽度,高度自动。
整型值(可以是正值或者负值)
AnchorValue="-100 -20",表示此控件右边框距离父控件右边框100px,此控件下边框距离父控件下边框20px。
AnchorValue="100 20",表示此控件右边框超出父控件右边框100px,此控件下边框超出父控件下边框20px。
当然可以在一个Anchor中混合使用百分值和整型值,比如:
AnchorValue="100% -20",表示此控件占据父控件全部宽度,此控件下边框距离父控件下边框20px。
3、通过示例认识AnchorValue的整型值
示例一:
[html] view
plaincopy
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="WebForm1.aspx.cs" Inherits="Layout_Anchor.WebForm1" %>
<%@ Register Assembly="Ext.Net" Namespace="Ext.Net" TagPrefix="ext" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
</head>
<body>
<form id="form1" runat="server">
<ext:ResourceManager runat="server" />
<ext:Panel
ID="Panel1"
runat="server"
Height="300px"
Width="400px"
Layout="AnchorLayout"
Title="panel1">
<Items>
<ext:Panel
ID="Panel2"
runat="server"
Anchor="100% -100"
Title="Panel2">
</ext:Panel>
</Items>
</ext:Panel>
</form>
</body>
</html>
示例二:
[html] view
plaincopy
<ext:ResourceManager runat="server" />
<ext:Panel
ID="Panel1"
runat="server"
Height="300px"
Width="400px"
Layout="AnchorLayout"
Title="panel1">
<Items>
<ext:Panel
ID="Panel2"
runat="server"
Anchor="100% 100"
Title="panel2">
</ext:Panel>
</Items>
</ext:Panel>
示例二相对于示例一只是把AnchorValue由 100% –100 改为了 100% 100,来看效果:
看得不是很清楚,按道理Panel2应该超出Panel1的高度,但是这个截图中超出的部分被截断了。
没关系,下面通过FireBug的帮助再来看下:
示例三:
[html] view
plaincopy
<ext:ResourceManager runat="server" />
<ext:Panel
ID="Panel1"
runat="server"
Height="300px"
Width="400px"
Layout="AnchorLayout"
Title="panel1">
<Items>
<ext:Panel
ID="Panel2"
runat="server"
Anchor="100% -100"
Title="panel2">
</ext:Panel>
<ext:Panel
ID="Panel3"
runat="server"
Anchor="100%"
Height="100"
Title="panel3">
</ext:Panel>
</Items>
</ext:Panel>
这次向Panel1中放置了两个面板,Panel2的AnchorValue保持 100% –100 不变(也就是说Panel2的下边框距离父容器的下边框100px),Panel3的AnchorValue设置为100%,同时指定其高度Height属性为100px。来看效果:
不过这种需求并不多;常见的需求是要求上部面板高度固定,下部面板高度自适应,这该如何实现?
也许你会不假思索的说,把Panel2和Panel3互换下位置不就行了?那就是下吧!
示例四:
如何实现下面这种布局?
正确代码是:
[html] view
plaincopy
<ext:ResourceManager runat="server" />
<ext:Panel
ID="Panel1"
runat="server"
Height="300px"
Width="400px"
Layout="AnchorLayout"
Title="panel1">
<Items>
<ext:Panel
ID="Panel2"
runat="server"
Anchor="100%"
Height="100"
Title="panel2">
</ext:Panel>
<ext:Panel
ID="Panel3"
runat="server"
Anchor="100% 100"
Title="panel3">
</ext:Panel>
</Items>
</ext:Panel>
如果单独看这段代码,可能不好理解;但是通过示例一到示例四循序渐进的学习,我们应该可以看出其中的端倪:
虽说Panel3的AnchorValue为100% -100,也即是其下边框距离父容器的下边框100px,但是由于上部还有一个100px固定高度的面板,最终导致Panel3下移了100px,正好是我们所期望的结果!
/article/4676740.html
注:原文讲的是ExtAspNet,此处讲的是ExtNet
ExtAspNet与ExtJS,ExtNet,ExtJsExtender的区别?
ExtJS是纯JavaScript的控件库,所以适用于后台为PHP,ASP.NET或者JSP的项目,并且是ExtAspNet和其他库的基础。
ExtNet是国外一家公司开发的基于ExtJS的ASP.NET控件库,从功能上讲比较完善,不过开发模型相对复杂,如果你喜欢ExtNet的开发风格或者需要使用ASP.NET MVC,可以尝试这
个控件库。
ExtJsExtender是一个比较早的基于ExtJS的ASP.NET控件库,但是功能过于简陋,长期没有更新,并且对ASP.NET AJAX有依赖。
ExtAspNet是一组基于ExtJS的ASP.NET控件库,也是本系列文章的主角。最大的优点就是简单实用。基于ASP.NET2.0,项目中只需要引用一个ExtAspNet的DLL,没有其他依赖。
还要注意ExtAspNet只适合WebForm的项目,不适合ASP.NET MVC的项目。
相关文章推荐
- Ext.Net 控件Anchor布局-锚点布局
- Ext.net 控件纠结的布局(一)
- 使用 Ext.Net TreePanel,TabPanel控件 布局
- Ext.Net.button 和其他控件,实现不同点击事件效果(包括调用自定义控件)
- [原创]ExtAspNet新春贺岁版 - 文件上传控件、复选框列表控件、完善布局管理、表格的行扩展列、完整的100多个中文示例、30多处BUG修正与功能增强、《ExtAspNet秘密花园》系列文章
- Ext.NET控件介绍—Form控件
- ExtJs4 笔记(9) Ext.Panel 面板控件、 Ext.window.Window 窗口控件、 Ext.container.Viewport 布局控件
- EXT.NET的布局方式
- Ext.Net 1.x_Ext.Net.综合布局案列-易飞综合信息查询分析-选择行事件(多值)
- EXT.NET复杂布局(一)——工作台
- ExtJs4 笔记(9) Ext.Panel 面板控件、 Ext.window.Window 窗口控件、 Ext.container.Viewport 布局控件
- Ext.net控件调整后台事件、方法论
- 【Ext.Net学习笔记】02:Ext.Net用法概览、Ext.Net MessageBus用法、Ext.Net布局
- ext.net 日期控件默认赋值
- [原创]基于Extjs的开源控件库 - http://extaspnet.codeplex.com/
- EXT.NET常用控件使用
- C# 界面布局之Dock,Anchor,容器控件心得
- Ext.net Calendar 控件在有模板页的时候,模板页定义了TD的样式造成日历控件的样式丢掉
- Ext.NET控件介绍—Form控件
- Ext.Net 布局