现在的位置: 首页Microsoft, Skills 点滴>正文
关于silverlight自定义控件custom user control visibility问题的备忘
2010年04月17日 Microsoft, Skills 点滴 评论数 2

记录下 备忘

情形是这样的

现 自定义的user control  A 是一个用以存放内容的容器 可以控制自己的visibility属性

另一个自定义user control  B 包括一系列的业务逻辑 事件触发器等

将B作为A的内容放在A内 组成一个完整的A+  B此时已经算是A+的children了

A+的visibility交由一个有开关visibility 能力的按钮btnC控制 但此时btnC只能控制A+的visibility

需要办到这样的事:

A+的visibility属性为collapse(即A+从用户眼前消失)的时候(不管是通过自己的visibility属性实现还是通过btnC控制),B带来的所有一切,不管业务逻辑是否正在运行,或是返回的结果正在显示,通通嘎然而止。就是说A+消失的时候,B也活不了!

难度在哪?A+消失,B肯定跟着就消失了,但怎样才能达到让它 “活不了”呢?(当然可以复活 呵呵)

在B里用LayoutChanged事件(这个事件是几乎一直会存在的),最简单的一个逻辑场景是这样的:如果B是collapse 的,停止所有B的业务

然后问题又来了····

A+消失B是跟着消失了 但B自己的visibility并没有collapse啊(就像一个白色会夜光的瓶子里装着2块一红一绿的糖果放在小黑屋里 把瓶子涂黑了 是看不到瓶子了也看不到糖果了 但糖果并没有被涂黑) 就是说LayoutChanged事件里的逻辑就永远不会执行了····

怎么办? 纠结纠结N久····

唉!很简单就解决了 silverlight的bingding嘛! B的visibility属性绑定到A+上! 瓶子被涂黑了 糖果必定要被殃及到

---------------------------------------------------------------------------------------------------------------------

感觉自己silverlight的基础知识印象不够刻骨铭心 需要强力加强 pro silverlight in C# 再看一遍 看完即记录总结下····

下午去参加微软 Visual Studio 2010 下的RIA开发线下活动 听听大牛们的speak 希望能够达到这次活动的宗旨:

为开发者提供更为开阔的开发思路,为产品设计人员规划未来富IT技术产品发展蓝图。

微软 Visual Studio 2010 下的RIA开发线下活动日程

0

目前有 2 条留言 其中:访客:2 条, 博主:0 条

  1. Adam : 2010年04月19日01:55:51  1楼 @回复 回复

    @qing 谢谢 自我感觉有点花哨 酝酿修改中···

  2. Qing : 2010年04月18日07:03:35  2楼 @回复 回复

    这个模版真漂亮

给我留言

留言无头像?

×
腾讯微博