我有一个 WPF ListView 控件,其中 ItemsSource 设置为项 ViewModel 类实例的集合。ListView 具有带有自定义控件层次结构的 ItemTemplate。
我需要对通过 ItemTemplate 生成的控件执行某些操作,当 ListView 实际显示时(如果尚未显示)并且所有项目都已布置好(即在可以安全使用时ItemContainerGenerator.ContainerFromItem
)。
如果我订阅ItemContainerGenerator.StatusChanged
,当状态更改GeneratorStatus.ContainersGenerated
为时,生成器中仍然没有项目(?!?顺便说一句。)。当 ListView 准备好迭代绑定到项目的实际控件时,即使在运行时更改现有控件上的 ItemsSource 时,如何通知我?
现在,我知道我可以订阅模板中实际控件的事件,但是我需要知道何时创建了所有项目控件,在项目的视图模型中执行 stuf 对我没有帮助,因为我需要与 UI 相关诸如动画之类的东西。