主にプログラミング関連のメモ帳 ♪(✿╹ヮ╹)ノ
書いてあるコードは自己責任でご自由にどうぞ。記事本文の無断転載は禁止です。
2015/12/08
Xamarin.Forms + Prism と言った感じで、 MVVM パターンでやってる際に、
ViewModel から、ダイアログを呼び出したい時があります。
その時のやり方みたいな。
単純に View から呼び出したい場合はこんな感じ。
await this.DisplayAlert("Hello", "Hello, world!", "OK");
こう表示されます。
じゃあ ViewModel からは?というと、 Prism の方でいい感じのものを提供してくれています。
Prism/4-PageDialogService.md at master · PrismLibrary/Prism · GitHub
これを使えば呼び出すことが可能です。
こんな感じ。
private readonly _dialogService;
public MainPageViewModel(IPageDialogService dialogService)
{
this._dialogService = dialogService;
}
// ...
// コマンド呼び出しなど
private async void Hoge()
{
await this._dialogService.DisplayAlert("Hello", "Hello, world!", "OK");
}
痒いところに手が届いている感じがして、すごく便利ですね。