我正在设计一个继承自canvas的sliverlight中的用户控件。我需要知道何时将新的UIElement
添加到MyBase的Children属性中,但没有像“ItemAdded”这样的事件。因为我想动画我的画布的孩子,我不能使用LayoutUpdated
事件(它被击中一百万次)。我怎么才能找出什么时候在Silverlight中添加一个新的UIElement
2
A
回答
1
当孩子被添加/删除Canvas
它会自动失效,以便发生测量/安排周期。所以你不需要显式地跟踪添加/删除操作。
取而代之,您只需重写MeasureOverride方法,然后在该方法内部查看该组儿童并注意发生了什么变化。这是Silverlight比WPF更难使用的一个领域。你不能提供你自己的集合来存储像WPF这样的孩子,也不能在现有的Children集合上挂钩事件。
0
请注意,我没有Silverlight过期,但在WPF中,您可以在控件上使用加载和初始化事件。在a blog from Mike Hillberg from MSDN
初始化事件
的初始化事件通常触发 当一个元素的属性有 全部被设置
更多信息。具体来说, FrameworkElement的/ FrameworkContentElement上 实施ISupportInitialize接口,当 该接口 的EndInit方法进行初始化被调用时,IsInitialized属性 设置为true,以及初始化 事件。
Loaded事件
当一个元素 不仅初始化加载的事件触发,但它是 将会呈现。加载事件的动机 是典型的 场景,您希望在应用程序中执行一些 初始化,加载时间为 。
相关问题
- 1. 我怎样才能找出什么没有加载MEF
- 2. 我怎样才能找到一个使用Linq的UIElement?
- 3. 我怎样才能知道什么时候执行Redux动作
- 4. 你怎么能指望的时候一个值出现在SQL
- 5. 我怎样才能让一个float抛出一个异常,进入什么时候?
- 6. 我怎样才能找出为什么mongodb崩溃?
- 7. 我怎么才能找出什么用户哈德森正在运行
- 8. 我怎样才能找出什么CSS重写我的样式表中的CSS?
- 9. 我怎样才能找到什么是停止我的活动
- 10. 我怎样才能解决什么时候刷新我的页面,然后flipclock.js coundown时钟被重置?
- 11. 我怎么能在一个时间
- 12. 我怎么能知道什么时候一定IFRAME被从页面
- 13. 我怎样才能找到一个DataTable
- 14. 我怎么能随机控制的时候都加入
- 15. 为什么我不能在Silverlight中添加使用System.Xml.Linq?
- 16. 什么时候我在HTML
- 17. 我的一个`{{link-to}}`助手正在触发页面重新加载。我怎样才能找出是什么导致该页面完全重新加载?
- 18. 我怎样才能变出一个班?
- 19. 什么时候加入名字,什么时候不加入?
- 20. 鉴于什么时候测试 - 我需要一个“什么时候”?
- 21. 我怎么能添加UISwitch到UITableView的
- 22. 什么时候添加了System.Windows.Threading.Dispatcher.Invoke(System.Delegate,System.Object [])?
- 23. 一个人怎么知道什么时候在Clojure/Lisp中换行?
- 24. 我们应该怎么做才能让C#Silverlight Tcp Packet成为一个整体?
- 25. 我该怎么做才能在C++中扩展输出值
- 26. 我怎么不能添加一个对象到我的清单在C#中?
- 27. 什么是服务总线,我什么时候需要一个?
- 28. 什么时候应该添加一个GUI?
- 29. 让jQuery的知道什么时候新的div添加
- 30. 我怎样才能使用什么:=在VBA中like和multiple condition