0

如果 Silverlight 中画布的 childrencollection 发生了变化,有没有办法 Catch?(当添加或删除孩子时)

我知道 ObservableCollection 有这样一个事件,我怎么能为我的 Canvas 增加一个事件?

4

2 回答 2

1

UIElementCollection 或 Canvas 对象不会引发此类事件,但是,从 Canvas.Children 集合中添加或删除元素将触发度量传递,然后是布局更新传递,这意味着将引发LayoutUpdated事件,但是该事件也会在许多情况(如调整大小)。这是您可以知道画布的子集合可能已被修改的关闭,除非您自己完成所有添加和删除操作。

于 2009-09-09T13:58:54.913 回答
0

Panel 的唯一职责是设置其子项的位置和大小。这是在 MeasureOverride 和 ArrangeOverride 这两个有点“纯粹”的过程中完成的。从 ItemsControl 继承以获得更多控制权。

于 2009-09-14T23:45:51.123 回答