Frage

Ich habe eine Menge von Kontrollkästchen in meiner WPF Form haben. Ich will allein die gewählte Option Wert erhalten. In WinForms können wir foreach(checkbox ck in controls) verwenden, aber ich kann nicht wie die in WPF Forms verwenden. Wie kann ich das ausgewählte Kontrollkästchen in WPF bekommen?

War es hilfreich?

Lösung

Zunächst einmal ist WPF nicht nur ein Ersatz für WinForms, also die Tricks in WinForms wenig anders sein könnten als WPF. WPF ist alles über Databinding, so etwa MVVM Muster lesen, die Ihnen wirklich in WPF Entwicklung helfen.  Jetzt auf den Weg kommt mit MVVM Ansatz fort diesem zu gehen, Stellen Sie sich Ihre Viewmodel-Klasse enthält eine Sammlung von Bool. Nun ist die Datatemplate hat CheckBox.IsChecked Eigenschaft binden an die boolean, Also, wenn Sie das Kontrollkästchen der Sammlung ändern sich entsprechend die geänderten booleans halten wird.

public List<bool> MyBoolCollection{get; set;}

<ItemsControl ItemsSource="{Binding MyBoolCollection}" ...>
   <ItemsControl.ItemTemplate>
      <DataTemplate>
          <CheckBox IsChecked="{Binding}"/>
      </DataTemplate>
   </ItemsControl.ItemTemplate>

Andere Tipps

können Sie die Daten binden die IsChecked Eigenschaft für jede CheckBox? Binden Sie es auf eine Membervariable der Containerklasse. Zumindest diese Weise können Sie die Elementvariablen durchlaufen können, um zu bestimmen, ob jede geprüft werden.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top