2010-06-08 3 views
3

У меня есть сценарий, в котором элемент управления имеет событие, подключенное к XAML, например Button.Click.Управление Silverlight отключает/удаляет события

Где-то еще в моем коде применяется проверка безопасности, которая означает, что мне нужно отключить указанное событие, но у меня нет доступа к синтаксису normal - =, чтобы удалить его.

Как еще я могу удалить или отключить это событие?

Спасибо, Dave

ответ

2

данных связать свойство IsEnabled кнопки для вашей модели класса/DataContext, которые можно обновить с помощью кода в любом месте.

Если вам требуется больше контроля, подумайте о наличии словаря или списка «одобренных» кнопок, у которых есть токен для события click или для основного бизнес-объекта. В событии Click проверьте, присутствует ли токен/объект/специальная вещь, прежде чем продолжить.

+0

Thanks Jeff. На самом деле у меня есть материал IsEnabled, но мне нужна больше верности, чем просто IsEnabled. В DataGrid, например, мне нужно применить безопасность для определенных событий ... – Dave

+0

Обновлено, чтобы отразить это. –

+0

Привет, Джефф, я фактически использую Attached Properties, которые вызывают требования безопасности/требования, необходимые для каждого элемента управления. Таким образом, я могу украсить свой XAML требованиями, а не прибегать к Code Behind. На самом деле я фактически подключился к моим командам в ViewModel, которые, в свою очередь, регулируют доступ к этим командам. «В следующий раз» Я могу рассмотреть шаблон фабрики, чтобы добавить обработчики событий, которые, в свою очередь, управляют доступом, поэтому я могу просто не добавлять обработчик, если он не подходит. Спасибо за ваш совет/помощь. Dave – Dave

Смежные вопросы