Ich habe eine MVVM
Anwendung, die mehrere Ansichten mit einigen komplexen IsReadOnly
Regeln basierend auf Benutzerberechtigungen, Ansicht/Bearbeitungsmodus und Objektstatus enthält.Wie setze ich IsReadOnly/IsEnabled auf ganzen Container wie Panel oder GroupBox mit XAML?
Ich möchte IsReadOnly
setzen und/oder IsEnabled
Eigenschaften für ganze Gruppen von Steuerelementen in dem gleichen Behälter (GroupBox
/StackPanel
/Grid
/UserControl
/etc.). Der Wert dieser Eigenschaft wird in ViewModel definiert.
Ich habe 3-6 verschiedene SomeGroupIsReadOnly
Eigenschaften pro Usercontrol (mit einer großen Anzahl von Eingabesteuerungen wie TextBox
, RadioButtons
, ComboBoxes
und einig DataGrids
) und ich suche nach einer allgemeinen, MVVM
-friendly Lösung, dass Wille Erlaube mir, Bindungen pro Container wiederzuverwenden, anstatt sie für jede einzelne Kontrolle separat zu spezifizieren.
Wie kann ich IsReadOnly/IsEnabled auf allen Steuerelementen in Container wie Panel oder GroupBox mit XAML festlegen?
Es scheint nicht, dass WPF diese ...
aus der Box unterstütztEDIT
ich, dass ein wichtiges Merkmal der Textfelder für einen Container Einstellung IsEnabled vergessen zu erwähnen, deaktiviert - Wesen in der Lage, ihre Inhalte zu kopieren. Ich brauche sie in IsReadOnly=true
Zustand. Wenn es dafür einen Workarond gäbe, wäre mein Problem gelöst.
Dies ist die beste Lösung, die ich gefunden habe: http://dkowalski.com/blog/archive/2010/02/04/readonly-wpf-containers.aspx – surfen