Ich habe, in einem Fenster, eine Grid
, die eine RadioButton
, eine TextBox
und eine Button
, jeweils in Spalte 0, 1, 2 enthält. Sie haben alle ihre Höhen auf auto eingestellt.WPF: Binden der Höhe einer Komponente an andere
Dann wird in einem anderen Teil des Fensters, habe ich eine andere Grid
mit einem Label
, einem TextBox
und einem Button
, in Spalten 0, 1 und 2. Die Höhen werden auch auf auto gesetzt.
Das Problem, das ich habe, ist, dass die Höhe des ersten Gitters kleiner ist als die des zweiten. Ich schätze, das liegt daran, dass Label die zweite Person dazu zwingt, größer zu sein. Wie kann ich es so machen, dass das erste Gitter so groß ist wie das zweite? Ich habe versucht, dies zu tun:
Benennen Sie die Textbox im zweiten Raster SomeName.
In der <Grid.ColumnDeclarations>
des ersten Grid, änderte ich die Höhe von "auto" auf "{Binding ElementName = SomeName, Path = Höhe}".
Aber das hat nicht getan, was ich wollte. Die Größe war die gleiche. Ich schätze, die Bindung wird im Grunde "automatisch" und wirft sie dort hin, was letztendlich dasselbe ist.
Auch suche ich nach einer Lösung, die nicht die Höhen auf einen festen Wert setzt.
Das hat auch nicht funktioniert. Der einzige Weg, wie ich es zum Laufen brachte, war ein Etikett hinzuzufügen und es zu verstecken. Argh. – zxcvbnm
Neugierig. Ich habe es vor dem Posten getestet, allerdings mit einem TextBlock anstelle einer TextBox. Vielleicht ein Problem mit vom Raster hinzugefügten Rändern (ich wollte an die ActualHeight der anderen RowDefinition binden, um dieses Problem zu vermeiden, aber das hat nicht funktioniert). – itowlson
Das ist eigentlich die richtige Antwort. – Cogent