私は小さな概念実証アプリケーションを続けています。これは主に、Silverlight内のMVVMスキルを強化することです。私は今日、MVVMのやり方を解決する方法を考え出すことができなかった興味深い問題に出くわしました。私は検索中に関連する何かを見つけることに成功しなかった。MVVMとSilverlightを使用した「待機」画面の一般的な方法
この問題では、データベースのバックエンドを持つシンプルなビジネスタイプのアプリケーションがあります。私は、ログインを実行し、成功または失敗を報告するログインビューとビューモデルを添付しています。問題ない。私がまだ満足していないのは、ユーザーに待機画面を報告する方法です。私のログイン画面では、ユーザーはログインをクリックし、データベースチャットが行われている間に数秒の遅延があります。私はこれを報告し、呼び出しが完了するまで相互作用を無効にしたいと思います。
私にはいくつかのアイデアがありました。まず、Cursorプロパティをviewmodelにバインドすると、VMはIsBusyプロパティをtrueに設定できます。これの問題は、私はUserControl(Visual StudioはAG_E_RUNTIME_MANAGED_UNKNOWN_ERROR
と言う)のCursorにバインドできないようだということです。
第2のアイデアは、待機画面を持つことです。あなたが知っている、小さな歯車の回転や、あなたが望むアニメーション。それは問題ありませんが、Xamlを使ってモデルを使ってビューをどのように切り替えることができるかは、私にとっては本当のことではありません。私は間違いなくイベントをフックし、これをコードで処理できることを知っています。多分それは行く方法ですか?ちょっとだけ、MVVMのグレインとは思えません。
これを処理する方法の詳細については、興味がありますか。
ありがとうございます。
ちょっと精巧にお考えですか?あなたが「サービスを使って終わった」と言うと、私はそれほどフォローしません。明らかに、私はプロセスを処理するためにwcfサービスを使用しています、SLはサービスを非同期的に呼び出します。あなたはwcfサービスを呼び出す別のサービスがあると言いますか? 「待機」画面/コードを1か所に配置するというアイデアは本当に好きですが、これは最終的には後になっています。 – billb