2017-02-07 1 views
0

Ich füge eine Liste von Widgets programmatisch zu einem VBox-Container hinzu. Das funktioniert gut, aber die Widgets, ich füge hinzu, wird die gesamte Fenstergröße nehmen, so dass sie ziemlich groß sind, wenn ich nur ein paar Elemente habe. Ich möchte, dass sie trotz der Größe des Fensters immer gleich groß sind.Hinzufügen eines Widgets mit einer Gesamthöhe in gtk #

Ich habe versucht, SizeRequest, aber das funktioniert nur als Mindestgröße. Dann habe ich das Widget in einen festen Container und fügte das der VBox hinzu. Nun, das hat geholfen, die Höhe zu fixieren, aber es hat auch die Breite festgelegt. Und die Widgets sind nicht untereinander gesetzt, sondern haben immer noch einen Abstand, als wären sie immer noch so groß wie vorher.

Wie kann ich die Gesamthöhe eines Widgets oder die Höhe der Containerteile festlegen?

Antwort

0

Nun, die Lösung war das Verständnis der Verpackung von Kisten.

Diese Website erklärt es gut: http://www.mono-project.com/docs/gui/gtksharp/widgets/packing-with-boxes/

Zuerst habe ich eine SizeRequest gesetzt hatte und meine Artikel innerhalb einer Ausrichtung Container gestellt. Anstatt den Container über Add() zur VBox hinzuzufügen, musste ich ihn mit PackStart() hinzufügen und das Expandieren und Füllen deaktivieren.

var algn = new Alignment(0,0,0,0); 
item.SetSizeRequest (300, 40); //item is the control I want to add 
algn.Add (item); 
list.PackStart (algn,false,false,0); //list is the VBox 
Verwandte Themen