<p>Eto.WinForms TreeItem mit Kontrollkästchen?</p>

Erstellt am 11. Dez. 2016  ·  6Kommentare  ·  Quelle: picoe/Eto

Ich habe versucht, ein TreeItem mit einem Kontrollkästchen zu einem TreeGrid hinzuzufügen, aber nichts gefunden.
Wie bekomme ich eine Checkbox neben den Treeview-Elementen?
Tom

help wanted

Alle 6 Kommentare

Ich würde empfehlen, stattdessen die TreeGridView zu verwenden, die viel mehr Funktionen bietet, wie zum Beispiel die Möglichkeit, Kontrollkästchen hinzuzufügen.

Ich arbeite derzeit auch an einer Reihe von Dingen im Zusammenhang mit der TreeGridView, um sie mit der TreeView abzugleichen (falls dies der Grund ist, warum Sie sie derzeit nicht verwenden), wie z. B. das Aktualisieren bestimmter Elemente und das Abrufen der Spalte / des Elements unter dem Mauszeiger, was innerhalb einer Woche oder so erfolgen sollte.

control.Columns.Add(new GridColumn { DataCell = new CheckBoxCell(0), Editable =true }); control.Columns.Add(new GridColumn { DataCell = new TextBoxCell(1) });
Ja, ich habe TreeGridView ausprobiert, aber es sieht nicht schön aus, weil das Label eine zweite Spalte ist.

Auf dem Mac ist TreeView und TreeGridView gleich. Sieht so aus, als ob ich generell zu TreeGridView wechseln sollte. Bitte lassen Sie es mich wissen, wenn Sie mit Ihrer aktuellen Arbeit daran fertig sind.

Ja, auf Mac und Gtk verwenden TreeView und TreeGridView dasselbe native Steuerelement.

In WinForms und WPF unterstützt das integrierte Struktursteuerelement nicht mehrere Spalten, daher verwendet es das Datenraster und simuliert die Struktur, indem es den Knotenstatus manuell verwaltet.

Um die TreeGridView in Windows mit einem Kontrollkästchen besser aussehen zu lassen, können wir möglicherweise eine untergeordnete Zelle zur CheckBoxCell für ihren Inhalt hinzufügen oder (wahrscheinlich nicht machbar), aber jeder Spalte erlauben, mehrere Zellen zu definieren.

Ich habe mehrere Fehler mit dem TreeGridView in WinForms festgestellt:

  • unbehandelte Ausnahme, wenn DataStore auf null oder leere Liste gesetzt wird
  • unbehandelte Ausnahme, wenn DataStore auf eine neue Liste gesetzt wird, die kürzer ist als die vorherige und SelectedItem höher ist
  • unbehandelte Ausnahme beim Zugriff auf SelectedItems mit AllowMultipleSelection = true
  • CheckBoxCellHandler.SetCellValue wurde nie aufgerufen

Auf dem Mac funktioniert das.
Tom

War diese Seite hilfreich?
0 / 5 - 0 Bewertungen