はじめに
Prism入門その4です。
今回はダイアログを表示します。
実行する方法はとても簡単で短いです。
しかし、MVVMとしては重要な要素が含まれています。
IPageDialogService
ダイアログを表示するにはIPageDialogServiceを使用します。
ViewModelのクラスのコンストラクタの引数にIPageDialogService pageDialogService
を指定します。
これを指定するとクラスのインスタンスが生成された時にIPageDialogServiceのインスタンスが自動的に生成されます。
ダイアログを表示するにはIPageDialogServiceのインスタンスのメソッドを実行するだけです。
クリックするとダイアログが表示されるサンプルです。
public DelegateCommand Clicked { get; private set; }
public MainPageViewModel(IPageDialogService pageDialogService)
{
Clicked = new DelegateCommand(
async () => {
await pageDialogService.DisplayAlertAsync("Title", "Message.", "OK");
}
);
}
とても単純なサンプルですが重要です。
ダイアログのメソッドは普通のXamarinではViewに存在します。
イベントの処理の多くは、VMやMで発生します。
しかし、VMやMはVを参照してないため、Vのメソッドを呼ぶことはできません。
そこでDialogServiceのようなVのメソッドをVMで実行するためのクラスが存在します。
Vのメソッドを呼ぶ機能を持つクラスをVMに渡すことで、VMからのVの操作を実現しています。
これはVMからVの操作を行うための一つの方法です。
ユーザー自身も同じような処理を実装できますが、それは今度説明します。
最後に
ダイアログを通じて、MVVMでVMからVを操作する方法の一つを説明しました。
次もVMからVを操作する方法の説明をしたいと思います。