Event、Handler、EventSetter などの WPF CodeBehid イベントを MVVM パターンに変換しようとしています。MVVM を使用しているため、System.Windows.Controls の使用は許可されていません。また、この問題を解決するためにサードパーティのライブラリも避けています。
次の CodeBehind Event Handler を MVVM Event-Handler に変換する方法を誰かが説明できますか? 回答を書きながら、できる限り説明してください。
XAML コード
<DataGridCheckBoxColumn Header="Select" Binding="{Binding Path=IsSelected}">
<DataGridCheckBoxColumn.CellStyle>
<Style TargetType="DataGridCell">
<EventSetter Event="MouseLeftButtonUp" Handler="ApprovedMouseUp"></EventSetter>
</Style>
</DataGridCheckBoxColumn.CellStyle>
</DataGridCheckBoxColumn>
コードビハインド
private void ApprovedMouseUp(object sender, MouseButtonEventArgs e)
{
if(sender is DataGridCell)
{
var temp = (sender as DataGridCell).Content;
if(temp is CheckBox) (temp as CheckBox).IsChecked = !(temp as CheckBox).IsChecked;
}
}