我已经开始在WPF C#中开发一个新的应用程序。我遇到的问题是关于网格列定义。C#WPF Grid Grid被误解了
我已经使用网格的行和列定义(见下面的代码)将我的窗口分成不同的部分。
我有两行。第一个目前是空的,第二个包含一个新的网格,即进一步分为多列。 所有网格都在边界内。
的怪异的行为我得到,是此部分代码:
<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.Column =“2”的那个)中放置任何类型的控件时,控件都会出于某种原因出现在第三列中。
我一直在摆弄它,似乎无法理解我得到的行为。
又如:我已经把控制在第二列如下:
<Border BorderThickness="1" BorderBrush="#ffcd22" Grid.Column="2">
<Grid>
<TextBox Width="100" Height="50"></TextBox>
</Grid>
</Border>
全XAML代码:
<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有索引0,1,2,不是1,2,3 ... – ASh