【问题标题】:WPF ListView Items Rendered EventWPF ListView 项目呈现事件
【发布时间】:2019-03-17 11:20:00
【问题描述】:

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

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

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

  • Loaded事件:只在第一次调用,绑定的集合改变或替换后不调用

  • OnChildDesiredSizeChanged 方法:绑定集合更改时并不总是被调用

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

【问题讨论】:

    标签: c# wpf xaml listview data-binding


    【解决方案1】:

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

    public async void A()
    {
       await Task.Run(new Action(B))
    }
    
    public void B()
    {
       //Give source for listvView here
    }
    

    通过这种方式,只有当列表视图完全加载源数据时,我们才能进一步移动

    【讨论】:

    • 你能给我看一个代码示例吗?我究竟要等待什么?
    猜你喜欢
    • 1970-01-01
    • 2021-05-18
    • 2010-10-18
    • 1970-01-01
    • 2012-06-08
    • 1970-01-01
    • 2011-12-17
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多