如何知道绑定何时完成?

时间:2011-11-16 20:55:22

标签: wpf events binding itemssource

当我将DataGrid上的.ItemSource()属性设置为Collection时,调用会快速返回,但实际绑定会在之后发生。由于我想显示一个等待光标,我需要检测实际绑定何时完成。这有什么事吗?

3 个答案:

答案 0 :(得分:1)

任何基于ItemsControl的东西都使用ItemContainerGenerator在后台生成其项目。您可以访问DataGrid的ItemContainerGenerator属性并挂接StatusChanged事件以确定何时完成。如果您正在使用虚拟化和滚动,则会再次触发,因此您需要在必要时处理该问题。

答案 1 :(得分:0)

我等待DataGrid的{​​{1}}事件开火,我做了Loaded,就像这样:

BeginInvoke

我在这里的回答中提供了更多详细信息:https://stackoverflow.com/a/44464630/2101117

答案 2 :(得分:0)

您最好的选择是挂接到Window或用户控件中的OnPropertyChanged事件。每次更新属性时都会触发此事件。然后检查您希望观察的实际财产并采取措施。

    protected override void OnPropertyChanged(DependencyPropertyChangedEventArgs e)
    {
        if ("YOUR_PROPERTY_NAME".Equals(e.Property.ToString()))
        {
            // Take action
        }
        base.OnPropertyChanged(e);
    }