• 締切済み

C++ライブラリからWPFコントロールの変更方法

お世話になります。 メイン画面をWPF(C#)で作成していまして、WPFからC++の関数を実行しています。 C++はライブラリでCLR経由で読み込んでいます。 そこで質問なのですが、 C++の関数の実行途中に、処理結果によってWPFの画面を変更することは可能でしょうか? C++の関数が終わった時にはいくらでもやり方はあるのですが、あくまで関数の途中でWPFの画面を変更したいです。 キーワード、参考になるサイトでも結構ですのでご教授願います。

みんなの回答

回答No.1

WPF とのことなので,標準的な MVVM 構成を想定して書きます。 ・C++/CLI を利用している場合 Model クラスを変更して,アップデートを ViewModel に通知する。 あとは,ViewModel が変更を View を自動的に変更する。 ・P/Invoke を利用していて関係する Model クラスは C# の場合 コールバックを利用して C# に変更を通知。 コールバックされた C# コードが Model クラスを変更して,アップデートを ViewModel に通知する。 あとは,ViewModel が変更を View を自動的に変更する。 ・P/Invoke を利用していて関係する Model が C++ の場合 (実用に耐える環境か不明ですが) Model を変更して,アップデートを ViewModel に通知する。 あとは,ViewModel が変更を View を自動的に変更する。 # アップデート通知でコールバックを使っていそう。 Model の変更ではなく, Messanger の呼び出しであっても同じ事になると思います。

すると、全ての回答が全文表示されます。

関連するQ&A