记录下 备忘
情形是这样的
现 自定义的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技术产品发展蓝图。
![]()
@qing 谢谢 自我感觉有点花哨 酝酿修改中···
这个模版真漂亮