のんのんびりびりプログラマー

のんびりプログラム関係を書いています。また日々思った事を思った時に。

【WPF小技集】MVVMLightのRelayCommandの使い方

今回はMVVMLightのライブラリをNugetから落として
RelayCommandを使い方です。

まずはView側にCommandを書きます。
RelayCommandはViewModelに書きます。

ChatView.xaml

<DockPanel LastChildFill="True"
           DockPanel.Dock="Bottom">
    <Button Content="Send"
        DockPanel.Dock="Right"
        Width="50"
        Command="{Binding SendCommand}"/>
    <TextBox Text="{Binding InputMessage, Mode=TwoWay}"/>
</DockPanel>

ChatViewModel.cs

private RelayCommand _sendCommand;
public RelayCommand SendCommand
{
    get { return _sendCommand = _sendCommand ?? new RelayCommand(SendCommandRun); }
}

public void SendCommandRun()
{
    //ここにややりたい処理を記載
}

そのままではエラーになりますので、

using GalaSoft.MvvmLight.CommandWpf;

を追加してください。

これでボタンを押すとこの"SendCommandRun"のメソッドが実行されるようになります。