Ich bin neu bei Gtk und ich verwende Gtk #. Ich verwende eine TreeView-Komponente und möchte wissen, wann der Benutzer einen neuen Eintrag auswählt.Gtk # TreeView bestimmen, welcher Artikel ausgewählt ist
Ich habe versucht, mit der TreeView.Selection.SelectFunction. Dies wird jedoch aufgerufen, bevor die Auswahl getroffen wird, was nicht das ist, was ich möchte. Ich möchte wissen, was der Benutzer gerade ausgewählt hat und nicht, was zuvor ausgewählt wurde. Wie kann ich das erreichen?
Dank
Dies ist, was zur Zeit
Ich habecatalogTreeView.Selection.SelectFunction = CategorySelected;
bool CategorySelected(Gtk.TreeSelection selection, Gtk.TreeModel model, Gtk.TreePath path, bool abool) {
TreeIter iter;
if (selection.GetSelected (out model, out iter)) {
Console.WriteLine("abool = " + abool);
Console.WriteLine("Path of selected row = {0}", model.GetPath (iter));
Console.WriteLine(model.GetValue (iter, 0));
}
return true;
}
Also habe ich versucht, dies zu tun, aber die YourOnButtonPressEvent Funktion wird noch früher aufgerufen als die CategorySelected-Funktion, die ich hatte. Ich brauche eine Funktion, die später aufgerufen wird, nachdem die Auswahl aktualisiert wurde. – Dalanchoo
Hallo, vielleicht habe ich missverstanden, was du hier erreichen willst. Wenn Sie sagen, bevor die Auswahl getroffen wird, was meinst du? – muszeo
Ich mache eine App, die in Spalten aufgeteilt ist. Die Spalte 1 verwendet eine Baumansicht als Filter. Basierend auf der Benutzerauswahl fülle ich die Spalte 2. Spalte 1 enthält Knoten namens "playerItems", "courtProps" und "moves", jeweils mit Unterpunkten. Klicken Sie auf playerItems und Spalte 2 ist nicht gefüllt, da selection.GetSelected nichts zurückgibt. Klicken Sie auf "courtProps" und Spalte 2 wird basierend auf "playerItems" gefüllt, weil GetSelected courtProps zurückgibt. Klicken Sie auf "bewegt", GetSelected gibt "courtProps" zurück. Ich brauche Code, der ausgeführt wird, wo GetSelected zurückgibt, was die Auswahl sein wird, nicht was sich ändert. – Dalanchoo