1

私は、Frameロードに使用するWPFアプリケーションを持っていますPage。私はPage自分のカスタムコントロールを呼び出します<Controls:OrderDataGrid x:Name="cntrlOrderDataGrid" />。このコントロールでは、 の内部にDataGrid移動すると、データで満たされたものがあります。読み込みに時間がかかる場合があり、DataGrid の読み込みがいつ終了するかを知る必要があるため、イベントを設定しました。PageFrameLoaded

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

MainWindowしかし、DataGrid の読み込みが終了したことを通知できるかどうかわかりません。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 に答える