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