Показать / скрыть элементы управления на основе роли пользователя в WPF - PullRequest
0 голосов
/ 07 декабря 2010

Мне нужно сделать быстрый пример приложения WPF, в котором элементы управления в формах должны быть видны или скрыты в зависимости от ролей пользователя.

Что-то вроде этого будет замечательно, Как управлять графическим интерфейсом WPF на основе ролей пользователей

Я не уверен, куда поместить XAML, определенный в потоке (<Control) так что каждый элемент управления в форме использует RoleToVisibilityConverter, чтобы показать или скрыть элементы управления.

Я очень новичок в Windows Dev .. Не могли бы вы помочь мне?

С уважением, Бала

Ответы [ 2 ]

1 голос
/ 31 января 2013

Для меня самым простым способом было создать глобальную переменную в моем приложении. Для этого перейдите к вашему Project->Properties->Settings.settings и создайте новую переменную (называемую, например, Administrator) и установите для нее True из False в зависимости от того, что вы хотите сделать. Примерно так:

enter image description here

Затем в вашем MainWindow, когда он инициализируется, вы можете написать это:

if (!Properties.Settings.Default.Administrator)
{
    DisableSettings();
}

А затем отключите поля, которые вы хотите.

1 голос
/ 07 декабря 2010

Вы можете решить эту проблему, привязав видимость к соответствующему свойству в вашем коде позади / ViewModel.

Это пример привязки в одном из моих testcontrols с использованием WPF (в сочетании с Caliburn):

Visibility="{Binding Path=IsAdmin}" 

Здесь у меня есть свойство bool в моей ViewModel с именем IsAdmin.

...