在Silverlight中的ExtJS 下, Ext.Element 的 mask 和 unmask 方法可以轻松的对任意的界面元素进行遮罩和取消遮罩,在遮罩的过程中,这个界面元素暂时不能被操作(当然, ExtJS 之下还有专门的 Ext.LoadMask 类),有兴趣的可以参考 ExtJS 相关的 API 。因此在Silverlight下,我们同样需要类似的 mask 和 unmask方法。
我们先定义一个接口 ILoadMask ,并且定义了两个方法 Mask 和 Unmask,作用就不多说了,如下图所示。
接下来,我们在提供一种默认的实现 GridLoadMask ,能够对Grid进行遮罩,如下图所示:
接下来,为UIElement提供两个扩展方法, Mask 和 Unmask,如下图:
最后贴出使用方法,假设我们的 XAML 如下图:
对应的后台实现代码如下:
您正在阅读的是《浅谈Silverlight版本中的LoadMask》
【编辑推荐】