Wie setze ich IsReadOnly / IsEnabled für einen ganzen Container wie Panel oder GroupBox mit XAML?

Ich habe einMVVM Anwendung, die mehrere Ansichten mit einigen komplexen enthältIsReadOnly Regeln basierend auf Benutzerberechtigungen, Ansichts- / Bearbeitungsmodus und Objektstatus.

Ich würde gerne einstellenIsReadOnly und / oderIsEnabled Eigenschaften für ganze Kontrollgruppen im selben Container (GroupBox / StackPanel / Grid / UserControl / usw.). Der Wert dieser Eigenschaft wird in ViewModel definiert.

Ich habe 3-6 verschiedeneSomeGroupIsReadOnly Eigenschaften pro UserControl (mit einer großen Anzahl von Eingabesteuerelementen wieTextBox, RadioButtons, ComboBoxes und einigeDataGrids) und ich suche ein Generikum,MVVM-freundliche Lösung, mit der ich Bindungen pro Container wiederverwenden kann, anstatt sie für jedes einzelne Steuerelement separat anzugeben.

Wie kann ich IsReadOnly / IsEnabled für alle Steuerelemente in Containern wie Panel oder GroupBox mithilfe von XAML festlegen?

Es scheint nicht, dass WPF dies sofort unterstützt ...

BEARBEITEN

Ich habe vergessen zu erwähnen, dass die Einstellung IsEnabled für einen Container eine wichtige Funktion von TextBoxen deaktiviert - das Kopieren ihres Inhalts. Ich brauche sie, um drin zu seinIsReadOnly=true Zustand. Wenn es dafür einen Workarond gäbe, wäre mein Problem gelöst.

Antworten auf die Frage(2)

Ihre Antwort auf die Frage