WPF ListView项呈现事件

时间:2018-10-12 08:59:48

标签: c# wpf xaml listview data-binding

我正在使用 WPF ListView ,并且根据用户的选择将 ItemsSource 属性绑定到不同的集合。 当应用更改或替换绑定到 ItemsSource 属性的集合时,新的列表项将显示在屏幕上。

有什么方法可以检测渲染何时完成?我需要订阅哪种活动?

到目前为止,我已经尝试过:

  • 已加载事件:仅在没有更改或替换绑定集合后才第一次调用

  • OnChildDesiredSizeChanged方法:绑定的集合发生更改时并非总是被调用

  • LayoutUpdated事件:绑定的集合发生更改时并不总是被调用

1 个答案:

答案 0 :(得分:0)

您可以通过编写一个带有await的异步方法来实现这一点,在该方法中我们将提供项目源,因此只有在完成后,我们才能进一步进行操作。

public async void A()
{
   await Task.Run(new Action(B))
}

public void B()
{
   //Give source for listvView here
}

通过这种方式,只有在列表视图完全加载了源数据后,您才能进一步移动