Looking for xamarin.forms Keywords? Try Ask4Keywords

Xamarin.FormsXamarin Relatives Layout


Bemerkungen

Die Verwendung von ForceLayout in diesem Fall

Die Größe von Beschriftungen und Schaltflächen ändert sich je nach Text. Wenn die untergeordneten Elemente zum Layout hinzugefügt werden, bleibt ihre Größe in Breite und Höhe gleich 0. Zum Beispiel:

relativeLayout.Children.Add(label,
    Constraint.RelativeToParent(parent => label.Width));

Der obige Ausdruck gibt 0 zurück, da width momentan 0 ist. Um dies zu umgehen , müssen wir auf das SizeChanged- Ereignis achten und wenn sich die Größe ändert, sollten wir das Layout erzwingen, um es neu zu zeichnen.

label.SizeChanged += (s, e) => relativeLayout.ForceLayout();

Für eine Ansicht wie BoxView ist dies nicht erforderlich . Weil wir ihre Größe bei der Instantiierung definieren können. Das andere ist, in beiden Fällen können wir deren Breite und Höhe als Einschränkung definieren, wenn wir sie zum Layout hinzufügen. Zum Beispiel:

relativeLayout.Children.Add(label,
    Constraint.Constant(0),
    Constraint.Constant(0),
    //Width constraint
    Constraint.Constant(30),
    //Height constraint
    Constraint.Constant(40));

Dadurch wird die Beschriftung an den Punkt 0, 0 angehängt. Breite und Höhe der Beschriftung betragen 30 und 40. Wenn der Text jedoch zu lang ist, werden einige der Beschriftungen möglicherweise nicht angezeigt. Wenn Ihr Etikett eine hohe Höhe hat oder haben kann, können Sie die LineBreakMode- Eigenschaft des Etiketts verwenden. Was kann den Text einschließen. Es gibt viele Optionen in LineBreakMode .

Xamarin Relatives Layout Verwandte Beispiele