Я пытаюсь перевести события WPF CodeBehid, такие как Event, Handler, EventSetter, в шаблон MVVM. Мне не разрешено использовать System.Windows.Controls, так как я использую MVVM. И я также избегаю сторонних библиотек для решения этой проблемы.
Может кто-нибудь объяснить, как преобразовать следующий обработчик событий CodeBehind в обработчик событий MVVM? Пожалуйста, объясните как можно больше во время написания ответа.
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;
}
}