1
|
Oliver · 技术社区 · 16 年前 |
![]() |
1
1
如果我正确理解了您的问题,您要么使用可观察的集合来存储嵌套的用户控件,不幸的是,我知道的唯一一个集合在WPF程序集中:
http://msdn.microsoft.com/en-us/library/ms668604.aspx
或者,最好只暴露
|
![]() |
2
0
因此,为了在这个问题中获得更清晰的认识,我的解决方案是: 我想做的是,向我的UserControlContainer添加一个列表,可以 容易地 在运行时或设计时更改。为了让它在设计时正常工作,我必须从CollectionBase继承而不是从List<gt;继承,并添加DesignerSerializationVisibility(DesignerSerializationVisibility.Content)属性。CollectionBase本身提供了一些用于插入、删除和清除的事件。 在实现了这些功能并向外部世界添加了我自己定义的事件listchangedevent的触发之后,我能够获得关于任何列表更改的信息。 唯一的问题是collectioneditor不会从列表中删除任何对象。相反,它似乎与第二个内部列表一起工作。点击OK(确定)后,您的列表将被清除并填入其他事件。所以不要错过处理collectionbase.onclear或collectionbaseonclearComplete函数! |