Xamarin.Forms PrismでMVVM入門 ViewModel プロパティ Command

こんにちは。レモンティーです。

前回はViewのお話でした。
www.sawalemontea.com

今回はViewModelについてです。

BindableBase

PrismのViewModelはBindableBaseというクラスを継承していて
このSetPropertyメソッドを使うことで
自分でINotifyProperlyChangedを実装しなくても
Viewに変更を通知できるプロパティがつくれます。

具体的には以下のようにします。

private string _testText;
public string TestText
{
    get{return _testText;}
    set{SetProperty(ref _testTxt, value);}
}

DelegateCommand

MVVMで、ボタンを押した時の挙動は
コードビハインドには書かず、Commandをバインディングします。

Prismでは、自分でICommandを実装しなくても
DelegateCommandクラスを使うことで簡単にこれが実現できます。

具体的には以下のようにします。

ViewModel

public DelegateCommand TestCommand{get; set;}

public ViewModelのコンストラクタ()
{
    TestCommand = new DelegateCommand(Test);
}

private void Test()
{
    //ボタンを押した時の処理
}

View

<Button Text="テストボタン" Command="{Binding TestCommand}"/>


今回はこれでおしまいです。
www.sawalemontea.com