Я мог бы использовать пример с реальными пользователями и разрешениями, поэтому я собираюсь создать его - скажите, пожалуйста, не соответствует ли это тому, что вы пытаетесь сделать.
Выиметь пользователей и такие разрешения (я использую * для выбранных и да или - для отмеченных):
UserListView PermissionsListView
*Fred* Read Yes
Wilma Write -
Barney Execute -
Betty
Так что PermissionsListView в настоящее время показывает разрешения Фреда.Кажется, что вы хотите знать, как изменить список разрешений, чтобы отображать разрешения Барни, когда Барни выбран.
Что вы можете сделать, это связать OnSelectionChanged с моделью, чтобы он обновлял выбранного пользователя, а затем предоставитьРазрешения через другое свойство.
MyPermissionsListModel : INotifyPropertyChanged
{
Command OnSelectionChanged(User user) {
// Command which calls ChangeSelectedUser
}
private void ChangeSelectedUser(User user) {
_user = user;
PropertyChanged(this, new PropertyChangedEventArgs("Permissions");
}
public ObservableCollection<Permission> Permissions {
return new ObservableCollection<Permission>(_user.Permissions);
}
}
Затем вы используете шаблон данных или представление сетки, чтобы показать проверенные или непроверенные разрешения.Я предполагаю, являются ли они проверенными или непроверенными, является частью разрешений здесь, иначе оберните разрешения и проверенное / непроверенное состояние в небольшой собственной ViewModel.Если они не принадлежат пользователю, отправляйтесь за ним, откуда бы они ни были.
Пожалуйста, не стесняйтесь спрашивать то, чего я не понял;трудно понять, что ты делаешь без картинки!