前回はXAMLの重複スタイルを別ファイルに定義することでコードをスッキリさせるところまで実装しました。

今回は『動き』を付けていきたいと思います。

以下の動作環境にて確認済み
  • Visual Studio 2019 Community
  • Android 9.0.99
  • .NETStandard.Library 2.0.3
  • Prism.Unity.Forms 7.1.0.431

今回実装する『動き』

今回ご紹介するコードで実現される動作は下記のとおりです。

実装内容
  • ユーザIDとパスワードの両方が入力されていた場合に、次の処理へ進む。
  • それ以外の場合、エラーメッセージをダイアログで通知する。

(余談)IsEnabledをバインドできない

コードに入る前に、「多分これで動くよな~」と思ってた箇所のご紹介。

どうやらコントロールのIsEnabledプロパティへのバインドは効かないようです。

ユーザIDとパスワードの両方が入力されている場合にログインボタンを活性化したかったのですが、別な方法を検討する必要がありました。

View

前回からの変更点
  • コントロールのラベルで共通するものはバインドしてViewModelのコンストラクタで詰めるように変更。
  • ユーザ入力可能なコントロールの入力値をViewModelで取得できるようにバインド。

ViewModel

前回からの変更点
  • ログインボタン押下時に入力されたユーザIDとパスワードの入力値チェックを追加。
  • 両方入力されている場合は次の処理(未実装)へ、それ以外の場合はエラーメッセージをダイアログで通知するように変更。

特筆すべき点としては、MVVMでダイアログを表示するには『IPageDialogService』を利用します。

見え方

まとめ

まとめ
  • 『IsEnabled』プロパティはバインドできない。
  • ダイアログを表示するには『IPageDialogService』を利用する。

次回からはWebAPIとの連携部分を実装していこうと思います。

以上です。

スポンサーリンク