我在将文本框放入组合框(位于网格内)时遇到问题。由于groupbox只能包含一个子节点,因此我创建了一个网格来放置标签和文本框。问题是 - 在组框内创建的文本框根据组框内网格的第2列左对齐。我需要将文本框左对齐在主网格的第二列中。
我的xaml
代码
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto"/>
<ColumnDefinition Width="Auto"/>
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="Auto"/>
<RowDefinition Height="Auto"/>
<RowDefinition Height="Auto"/>
<RowDefinition Height="Auto"/>
<RowDefinition Height="Auto"/>
<RowDefinition Height="Auto"/>
<RowDefinition Height="Auto"/>
<RowDefinition Height="Auto"/>
<RowDefinition Height="Auto"/>
<RowDefinition Height="Auto"/>
<RowDefinition Height="Auto"/>
</Grid.RowDefinitions>
<GroupBox Grid.Row="0" Grid.Column="0" Grid.ColumnSpan="2">
<GroupBox.Header>
<Label Content="Header"></Label>
</GroupBox.Header>
<Grid Grid.Row="0" Column="0">
<Grid.RowDefinitions>
<RowDefinition Height="Auto"/>
<RowDefinition Height="Auto"/>
</Grid.RowDefinitions>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto"/>
<ColumnDefinition Width="Auto"/>
</Grid.ColumnDefinitions>
<Label Grid.Column="0" Content="Label1:"/>
<TextBox Grid.Column="1" />
<Label Grid.Column="0" Grid.Row="1" Content="Label2:"/>
<TextBox Grid.Row="1" Grid.Column="1"/>
</Grid>
</GroupBox>
</Grid>
此代码的输出
您可以在主网格的第1列中看到文本框。如果您查看图像,则该行下方有一个单选按钮,位于第二列。我需要将文本框与我在第二列中需要它们的单选按钮对齐。
答案 0 :(得分:0)
Width="Auto"
表示Column
会自动占用宽度。
你需要使用这样的东西;
`<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto"/>
<ColumnDefinition Width="*"/>
</Grid.ColumnDefinitions>`
如果需要,请查看此ColumnWidths以获取进一步说明。
要将TextBoxes
移至主Column
中的下一个Grid
,您需要将其从GroupBox
中删除,然后将其添加到主Grid
而是。您尚未发布整个XAML
,因此很难进一步提供建议。
答案 1 :(得分:0)