2011-01-06 15 views
1

MVVMパターンを使用しているSilverlightアプリケーションがあります。私はユーザーを認証できるWCFサービスを持っています(私はそのサービスを直接制御することはできません - ユーザー情報とユーザーの特権の一覧を返してくれるブラックボックスだと仮定します)。アプリが起動すると、そのサービスからセキュリティデータを取得する必要があります。起動時のSilverlight認証 - 同期動作を模倣する方法?

これを行うと、サービスがセキュリティデータとともに返される前に、ビューとビューモデルが初期化される可能性があります。これは、ビュー・モデルが特定の特権を持つユーザーに基づいてボタンを使用不可にし、表示/非表示にする必要があるため、問題を引き起こします。

WCF呼び出しが返されるまでビュー/ビューモデルの初期化を禁止するパターンがありますか?できるだけエレガントにこの問題を解決するにはどうしたらいいですか?

答えて

2

通常、このようなシナリオではからBusyIndicatorを使用します。

UIを無効にする代わりに、代わりに進捗状況が表示されます。

ViewModelIsBusyプロパティを指定してください。データをロードするときは、残りの時間をTrueFalseに設定します。 UIBusyIndicatorコントロールで囲み、そのプロパティの値をBusyIndicatorIsBusyプロパティにバインドします。

この場合、UIは忙しいときはいつでも了解します。

+0

これは実際に私が思い付くことができる最良のアイデアです。私は左のフィールドに完全に出ていないことを確認していただきありがとうございます。 :-) – RationalGeek

関連する問題