Ich habe begonnen, eine neue Anwendung in WPF C# zu entwickeln. Das Problem, das ich habe, betrifft Rasterspalten-Definitionen.C# -WPF-Rasterspalten falsch interpretiert
Ich habe mein Fenster in separate Abschnitte unter Verwendung der Zeilen- und Spaltendefinitionen von Grids aufgeteilt (siehe Code unten).
Ich habe zwei Zeilen. Die erste ist derzeit leer, die zweite enthält ein neues Gitter, das weiter in Spalten unterteilt ist. Alle Gitter sind innerhalb einer Grenze.
Das seltsame Verhalten Ich erhalte, ist dieser Abschnitt des Codes:
<Border BorderThickness="1" BorderBrush="#ffcd22" Grid.Column="1">
<Grid>
</Grid>
</Border>
<Border BorderThickness="1" BorderBrush="#ffcd22" Grid.Column="2">
<Grid>
</Grid>
</Border>
<Border BorderThickness="1" BorderBrush="#ffcd22" Grid.Column="3">
<Grid>
</Grid>
</Border>
Das Problem ist, dass die erste „subgrid“ entspricht tatsächlich der zweiten Spalte, der zweiten und dritten beide beziehen sich auf die dritte Spalte. Mit anderen Worten, wenn ich irgendeine Art von Kontrolle in das zweite Untergitter (das mit Grid.Column = "2"), wird das Steuerelement in der dritten Spalte aus irgendeinem Grund erscheinen.
Ich habe damit herumgespielt, und kann nicht verstehen, das Verhalten, das ich bekomme.
Ein anderes Beispiel: Ich habe eine Kontrolle in der zweiten Spalte wie folgt ausgedrückt:
<Border BorderThickness="1" BorderBrush="#ffcd22" Grid.Column="2">
<Grid>
<TextBox Width="100" Height="50"></TextBox>
</Grid>
</Border>
Das Bild unten, was bedeutet ich habe:
Whole XAML-Code:
<Border BorderThickness="1" BorderBrush="#ffcd22" Margin="10,10,10,10">
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="100" />
<RowDefinition Height="*" />
</Grid.RowDefinitions>
<Border BorderThickness="1" BorderBrush="#ffcd22" Margin="-1,-1,-1,-1" Grid.Row="2">
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="200" />
<ColumnDefinition Width="*" />
<ColumnDefinition Width="200" />
</Grid.ColumnDefinitions>
<Border BorderThickness="1" BorderBrush="#ffcd22" Grid.Column="1">
<Grid>
</Grid>
</Border>
<Border BorderThickness="1" BorderBrush="#ffcd22" Grid.Column="2">
<Grid>
</Grid>
</Border>
<Border BorderThickness="1" BorderBrush="#ffcd22" Grid.Column="3">
<Grid>
</Grid>
</Border>
</Grid>
</Border>
</Grid>
3 ColumnDefinitions haben Indizes 0,1,2, nicht 1,2,3 ... – ASh