1

我有一个 WPF 应用程序,我Frame用来加载Page'is. 在Page我调用我的自定义控件<Controls:OrderDataGrid x:Name="cntrlOrderDataGrid" />。在这个控件上DataGrid,当我导航PageFrame. 有时加载需要一段时间,我需要知道 DataGrid 何时完成加载,所以我设置了Loaded事件:

private void dgOrders_Loaded(object sender, RoutedEventArgs e)
{ }

但我不知道我是否可以通知MainWindowDataGrid 已结束加载。当我将Loaded事件设置为Frame然后它立即触发而不用等待我的自定义控件与数据网格。

4

1 回答 1

2

您需要有效地传递事件。

保存数据网格的Page需要添加一个新事件;类似的东西OrdersLoaded。当数据网格完成加载时触发该事件。然后主窗口可以订阅该事件,从而在加载订单时告诉它。

public event Action OrdersLoaded;

private void dgOrders_Loaded(object sender, RoutedEventArgs e)
{
    if (OrdersLoaded != null)
        OrdersLoaded();
}
于 2012-11-13T15:04:07.650 回答