Ext.Net 控件Anchor布局-锚点布局


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的整型值

 示例一:

<%@ 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>


 

 示例二:

<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的帮助再来看下:

 

示例三:

 <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互换下位置不就行了?那就是下吧!

示例四:

如何实现下面这种布局?

 

正确代码是:

<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,正好是我们所期望的结果!

 

 

http://www.cnblogs.com/sanshi/archive/2012/09/10/2678270.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的项目。

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
提供的源码资源涵盖了Java应用等多个领域,每个领域都包含了丰富的实例和项目。这些源码都是基于各自平台的最新技术和标准编写,确保了在对应环境下能够无缝运行。同时,源码中配备了详细的注释和文档,帮助用户快速理解代码结构和实现逻辑。 适用人群: 适合毕业设计、课程设计作业。这些源码资源特别适合大学生群体。无论你是计算机相关专业的学生,还是对其他领域编程感兴趣的学生,这些资源都能为你提供宝贵的学习和实践机会。通过学习和运行这些源码,你可以掌握各平台开发的基础知识,提升编程能力和项目实战经验。 使用场景及目标: 在学习阶段,你可以利用这些源码资源进行课程实践、课外项目或毕业设计。通过分析和运行源码,你将深入了解各平台开发的技术细节和最佳实践,逐步培养起自己的项目开发和问题解决能力。此外,在求职或创业过程中,具备跨平台开发能力的大学生将更具竞争力。 其他说明: 为了确保源码资源的可运行性和易用性,特别注意了以下几点:首先,每份源码都提供了详细的运行环境和依赖说明,确保用户能够轻松搭建起开发环境;其次,源码中的注释和文档都非常完善,方便用户快速上手和理解代码;最后,我会定期更新这些源码资源,以适应各平台技术的最新发展和市场需求。 所有源码均经过严格测试,可以直接运行,可以放心下载使用。有任何使用问题欢迎随时与博主沟通,第一时间进行解答!

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值