Улучшение отображения определенного столбца в представлении сетки WPF

У меня есть некоторые функции администрирования пользователей в приложении WPF, которое я сейчас пишу, и я хотел бы сделать его более интуитивным для конечного пользователя

. ] Я хотел бы иметь возможность легко редактировать список ролей, к которым принадлежит данный пользователь. На данный момент сетка заполняется в результате привязки к List

ApplicationUser— это мой собственный класс, определенный как:

public class ApplicationUser
{
        public Guid? UserId { get; set; }
        public string GivenName { get; set; }
        public string Surname { get; set; }
        public string EmailAddress { get; set; }
        public string UserPhone { get; set; }
        public string NtLoginName { get; set; }
        public List<Role> ApplicationRoles { get; set; }
}

Как видно, роли, в которых находится пользователь, хранится в List. Роль— это мой собственный класс, определяемый как:

public class Role
{
   public Guid RoleId;
   public string RoleName;
   public string RoleDescription;
}

Приведенный ниже макет представляет текущее состояние, в котором я просто получаю роли в виде списка и с помощью преобразователя просто отображаю роли в виде строк, разделенных новой строкой. в gridview

Current state of gridview

Однако это то, чего я хотел бы добиться, чтобы упростить включение и выключение членства в различных группах.

Desired state of gridview

Теперь, когда я думаю об этом, мне, вероятно, придется изменить определение роли, чтобы включить свойство IsMember для облегчения привязки к флажку, но если у кого-то есть лучший способ, я также буду приветствовать это. Я могу изменить тип JOIN в sproc, чтобы вернуть все роли с запросом о конкретном пользователе и соответствующим образом заполнить свойство IsMember.

Спасибо за внимание!

8
задан noonand 5 June 2012 в 09:58
поделиться