C# WPF入門-簡単アプリ作成-03
前回までと今回の目標
WPFでButtonにCommandを入れました。
その方法をまだご覧になってない方は、是非どうぞ。
dasuma20.hatenablog.com
せっかくCommandを入れたのに、Buttonに入れるのは使いにくいです。
今回はFirstName、LastNameを入れたらCommandが実行されるようにします。
ちょっと整理
XAMLの修正
1.behaviorsを読み込み
xmlns:i="http://schemas.microsoft.com/xaml/behaviors"
上の部分に書くと下で使えます。
csファイルで言うと"using"みたいなものです。
2.Interactionに追加
<TextBox Text="{Binding Name.FirstName}" Width="100"> <i:Interaction.Triggers> <i:EventTrigger EventName="LostFocus"> <i:InvokeCommandAction Command="{Binding SetNameCommand}"/> </i:EventTrigger> </i:Interaction.Triggers> </TextBox>
LostFocusはフォーカスが外れた時にCommandが発動されます。
他にも色々あります。
値が変わったらなど。
ViewModelを修正
public ICommand SetNameCommand { get { return new BaseICommand(SetNameCallBack); } } private void SetNameCallBack() { Name.SetName(); } private bool CanNameCallBack() { return Name.CheckName(); }
"CanNameCallBack()"は使わなくなったので、BaseICommandの第2引数は削除しました。
完成
これでFirstName or LastNameに入力したらCommandが実行されて、
FullNameが入力されて画面に反映されます。
一応これで簡単アプリ作成は終わりとなります。