LoginSignup
1
3

More than 5 years have passed since last update.

Prism入門 その4 - IPageDialogService

Posted at

はじめに

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を操作する方法の説明をしたいと思います。

1
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
3