silverlight - ItemSource 更改时在 TreeView 中展开 Root

标签 silverlight data-binding mvvm treeview

我在带有 TreeView 的 Silverlight 4 应用程序中有一个 ChildWindow。 ItemSource 绑定(bind)到 ViewModel 中项目的 ObservableCollection。当窗口打开时,项目是从 web 服务加载的。

我只有一个根节点,我需要最初扩展它。 TreeView 甚至有扩展名 ExpandToDepth() 看起来很完美,但我不知道在哪里可以调用它。我没有找到从 ItemSource 更新项目后发生的事件。

我尝试在 TreeView 中使用 ItemContainerGenerator.ItemChanged 和 OnItemsChanged,但它们都是在生成 TreeView 项之前执行的,因此展开命令将不起作用。

我怎样才能让它工作?

最佳答案

尝试注册您的 ObservableCollection CollectionChanged 事件并在那里执行您的操作。

关于silverlight - ItemSource 更改时在 TreeView 中展开 Root,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5674925/

相关文章:

silverlight - 如何更改 Silverlight for Windows Phone 上 Web 浏览器上的 ComboBox "selectedIndex"?

.net - wpf 绑定(bind)到索引器

javascript - 当网格数据绑定(bind)是动态时,如何为 jqgrid 单元格设置自定义标题

silverlight - Silverlight View通过MEF将DependencyProperty导出到ViewModel

c# - 如何在 Silverlight 中加载 xml 文件并从中读取?

silverlight - 在图像查看器 WP7 中显示图像

design-patterns - 我缺少哪个应用程序层?

c# - 资源部分中的 WPF DataContextProxy

c# - 黑屏只是闪烁了一会儿

c# - 显示 system.data.datarowview 的组合框数据绑定(bind)