Ich habe ein WPF-Formular mit bis zu 40 Textfeldern mit einem Kontrollkästchen für jedes. Jedes Textfeld sollte basierend auf dem Wert des entsprechenden Kontrollkästchens aktiviert/deaktiviert werden. Ich habe Lösungen gesehen, bei denen wir ICommand
verwenden können, um dies zu erreichen, aber wie gehe ich mit 40 Einzelfällen um, ohne 40 ICommand
Implementierungen zu haben?
Binden Sie einfach die Eigenschaft IsEnabled
von TextBox
an die Eigenschaft IsChecked
von CheckBox
:
<CheckBox Name="checkBox1" />
<TextBox IsEnabled="{Binding ElementName=checkBox1, Path=IsChecked}" />
wenn Sie 40 Steuerelemente wie dieses haben, würde ich ein neues Steuerelement erstellen, das das Kontrollkästchen und das Textfeld enthält. Sie können dieses neue Steuerelement verwenden, ohne 40 Befehle implementieren zu müssen. Stattdessen verfügt Ihr neues Steuerelement über eine einzelne Befehlsimplementierung. und dies ist auch weniger Code als zusätzlicher Vorteil zu pflegen