WPFウィンドウデータコールバック

オリジナル: WPFウィンドウデータコールバック

WPFアプリケーションを開発する際に、このようなシナリオが頻繁に発生します。メインウィンドウのボタンをクリックすると、サブウィンドウに入力ボックスのあるサブウィンドウがポップアップ表示されます。入力が完了したら、[OK]ボタンをクリックします。入力ボックスの内容がメインウィンドウに転送されます。iOS開発、これは通常でも、非常に一般的であるdelegateか、blockコールバック。WPF真ん中が同じで、これを見ることができる、コールバックを委託することが可能な技術が同じですWPF中国でのかけ直し方を見てみましょう

委任

C#Delegate同様のCまたはC++ポインター機能。Delegateメソッドへの参照を保持する参照型変数。参照は実行時に変更できます。Delegate特に、イベントとコールバックメソッドの実装に使用されます。すべてがDelegate由来しているSystem.Delegateクラスです。delegate次のように1つ確認してください。

public delegate void UpdateMainwindow(string Content);

イベント

delegate一般的に、event同時に、イベントを通じて委任を使用します。event次のように作成します。

public event UpdateMainwindow updateMainwindow;

代理人に電話する

サブビューのボタンをクリックしてメインインターフェイスに情報を渡す必要がある場合は、次のようにサブビューのイベントを呼び出す必要があります。

private void Add_Button_Click(object sender, RoutedEventArgs e)
        {
            if (updateMainwindow != null)
            {
                updateMainwindow("WinAddPlaneLine");
            }
            this.Close();
        }

次に、メインビューで子ウィンドウを作成するときに、次のように子ウィンドウのデリゲートをメインウィンドウに公開する必要があります。

WinAddField winAddField = new WinAddField();
winAddField.updateMainwindow += SubWindow_updateMainwindow;

private void SubWindow_updateMainwindow(string Content)
        {
            Message.show(Content);
        }

上記の手順に従って、疑似コードを使用してデータコールバックを完了します。デリゲートとイベントを使用してデータコールバックを処理する方法の簡単な紹介です。
個人ブログ

おすすめ

転載: www.cnblogs.com/lonelyxmas/p/12709870.html