Как установить 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
государство. Если бы для этого был обходной путь, моя проблема была бы решена.