我正在使用 WPF ListView ,并且根据用户的选择将 ItemsSource 属性绑定到不同的集合。 当应用更改或替换绑定到 ItemsSource 属性的集合时,新的列表项将显示在屏幕上。
有什么方法可以检测渲染何时完成?我需要订阅哪种活动?
到目前为止,我已经尝试过:
已加载事件:仅在没有更改或替换绑定集合后才第一次调用
OnChildDesiredSizeChanged方法:绑定的集合发生更改时并非总是被调用
LayoutUpdated事件:绑定的集合发生更改时并不总是被调用
答案 0 :(得分:0)
您可以通过编写一个带有await的异步方法来实现这一点,在该方法中我们将提供项目源,因此只有在完成后,我们才能进一步进行操作。
public async void A()
{
await Task.Run(new Action(B))
}
public void B()
{
//Give source for listvView here
}
通过这种方式,只有在列表视图完全加载了源数据后,您才能进一步移动