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.