Как установить IsReadOnly / IsEnabled на весь контейнер, такой как Panel или GroupBox, используя XAML?

у меня естьMVVM приложение, которое содержит несколько представлений с некоторыми сложнымиIsReadOnly правила, основанные на разрешениях пользователя, режиме просмотра / редактирования и состоянии объекта.

Я хотел бы установитьIsReadOnly и / илиIsEnabled свойства для целых групп элементов управления в одном контейнере (GroupBox / StackPanel / Grid / UserControl / так далее.). Значение этого свойства будет определено во ViewModel.

У меня 3-6 разныхSomeGroupIsReadOnly свойства для UserControl (с большим количеством элементов управления вводом, таких какTextBox, RadioButtons, ComboBoxes и немногоDataGrids) и я ищу общий вид,MVVMудобное решение, которое позволит мне повторно использовать привязки для каждого контейнера, а не указывать их отдельно для каждого отдельного элемента управления.

How can I set IsReadOnly / IsEnabled on all controls inside container like Panel or GroupBox using XAML?

Похоже, что WPF поддерживает это "из коробки" ...

EDIT

Я забыл упомянуть, что установка IsEnabled для контейнера отключает важную функцию TextBoxes - возможность копировать их содержимое. Мне нужно, чтобы они были вIsReadOnly=true государство. Если бы для этого был обходной путь, моя проблема была бы решена.

Ответы на вопрос(2)

Ваш ответ на вопрос