WEB开发网
开发学院图形图像Flash Silverlight的弹出窗口--设计 阅读

Silverlight的弹出窗口--设计

 2009-02-25 11:56:37 来源:WEB开发网   
核心提示: 而从界面的展现角度来讲,又可以认为LayoutMask确实是一个“控件”,Silverlight的弹出窗口--设计(4),因为他会生成一个Canvas平铺于其所有者(Panel类型)之上,此Canvas就是真正的“遮罩层”,2. MaxZIn

而从界面的展现角度来讲,又可以认为LayoutMask确实是一个“控件”,因为他会生成一个Canvas平铺于其所有者(Panel类型)之上,此Canvas就是真正的“遮罩层”,对Canvas设定背景色就会产生模态对话框的效果,同时所有的弹出窗口都将作为这个Canvas的子元素,通过ZIndex的改变来确定哪一个对话框处在最前端,从而得以模仿我们日常使用中“点击在后面的窗口之后窗口会被置于最前端”的效果。

LayoutMask提供了与弹出窗口的管理相关的若干方法,其主要对外的方法如下:

1. AddBox:将一个弹出窗口添加进来,当然在调用窗口的Show方法之前,窗口是不会显示出来的,AddBox只是将窗口与本体进行联系。

2. RemoveBox:与AddBox相反,将一个窗口从本容器中除去,此后即使调用窗口的Show方法,窗口也不会再显示出来了,因此被移除的Box在XAML树中已经是一个孤岛,与XAML根没有联系的元素是不可能被渲染的。

3. PositionBox:在上一个版本中称为CenterBox,在此版本中加入了新的功能,即连续打开窗口时,窗口不会叠在一起,而会按一定的偏移量相互错开,因此方法也被改名为PositionBox,其作用就是找到一个合适的位置来放置弹出窗口。

除了公开的方法之外,其部分内部方法也有着举足轻重的作用:

1. CheckModal:每当AddBox或RemoveBox调用时,都会重新检查是否有弹出窗口是模态的,如果在这个LayoutMask管理的弹出对话框中有一个或多个是模态的,则需要将作为遮罩层使用的Canvas改为模态以屏蔽下面的其他控件,其方式是简单地给Canvas加上背景色。

2. MaxZIndex:返回管理的所有弹出对话框的ZIndex中的最大值,这方便了在后层的对话框移到前层,只需要设定其ZIndex为MaxZIndex + 1即可。

上一页  1 2 3 4 5 6  下一页

Tags:Silverlight 窗口 设计

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接