私は投影ウィンドウ(similar to the sample app)を開くUWPアプリケーションを持っています。今私はどちらのウィンドウがアクティブであるかにかかわらず、両方のウィンドウでRotationChanged
-Eventに反応します。UWP:RadialControllerで2つのウィンドウを同時に制御します
RadialController
のインスタンスをどうにか共有できますか?または、1つのビューでそれを管理し、手動でイベントを2番目のビューに渡す必要がありますか?
質問:両方のウィンドウで同じViewModelインスタンスを使用するにはどうすればよいですか?
P.s:RadialController
および/またはSurface-Dial
を追加するとタグが意味をなされる可能性があります。
私はそれが簡単ということであるか分かりません。 'CoreWindow'がそれぞれ専用のスレッドで実行され、非アジャイルな型であるため、ある種のマーシャリングを実装する必要があります。 C#言語のプロジェクションがすでにマーシャリングを実装していない限り、あなたには責任があります。しかし、私は間違っている可能性があります。 – IInspectable
幸運なことに、WPF/UWPはディスパッチャとマルチスレッドを念頭に置いて設計されました:http://stackoverflow.com/questions/32671719/uwp-updating-ui-through-data-binding-from-a-background-thread Bindingクラスを使用せずにBindingコードを手動で記述する必要があるかもしれませんが、それはそれに関するものです。まれにViewsideコードが必要なケースの1つです(これはViewsideの問題です)。 GUI要素が代替スレッド(メイン/元のスレッドがデフォルトです)に入っているのはちょっと奇妙ですが、重いものを描くのは間違いありません。 – Christopher
まず、MVVMを使用しています。あなたの投稿の後、私は両方のWindowsを同じViewModelにバインドしようとしていましたが、2つの別々のインスタンスで終了しました: - /そのため、Dispatcherを使用して2つ目のウィンドウにイベントを手動で送信する必要がありますか? – Thomas