Я полагаю, что ваш класс ViewModel
реализовал интерфейс INotifyPropertyChanged
, и я предполагаю, что вы реализуете метод для изменения свойств триггера, здесь я назвал этот метод RaisePropertyChanged
.После всего этого, определите приватное поле selectedUsers
и свойство с именем SelectedUsers
в классе ViewModel:
private UsersModel selectedUsers;
public UsersModel SelectedUsers
{
get => _selectedFields;
set
{
_selectedFields = value;
Modify.RaiseCanExecuteChanged();
Delete.RaiseCanExecuteChanged();
}
}
После того, как вы добавите его, вы должны добавить событие SelectionChanged
к вашемуGrid
, а затем в кодовом значении настройки для вашего selectedtedUser, как показано ниже:
private void usersGrid_SelectionChanged(object sender, SelectionChangedEventArgs e)
{
usersViewModel.SelectedUsers = usersGrid.SelectedItem as UsersModel;
}
И связать selectedItem
из DataGrid
с selectedUser
:
<DataGrid Name="users" ItemsSource="{Binding Items}" CanUserAddRows="False"
IsReadOnly="True" AutoGenerateColumns="False"
SelectedItem="{Binding SelectedUser}" >
Когда вы выполняете эту работу, selectedUser
становится доступным в вашей модели представления.