我使用堆栈面板在水平模式下对齐两个单选按钮,但我希望在垂直模式下在同一堆栈面板中添加数据网格。
<GroupBox Grid.Column="2" Header="Approfondimento pronostici" HorizontalAlignment="Stretch" HorizontalContentAlignment="Stretch" VerticalContentAlignment="Stretch" >
<StackPanel Orientation="Horizontal">
<RadioButton Content="Primo tempo" Margin="3,5,0,128" />
<RadioButton Content="Parziale/Finale" Margin="8,5,8,128" />
<DataGrid ColumnWidth="*" Grid.Row="2" Grid.Column="2" HorizontalAlignment="Stretch" HorizontalContentAlignment="Stretch" VerticalContentAlignment="Stretch" ScrollViewer.HorizontalScrollBarVisibility="Auto" AutoGenerateColumns="False" Width="auto">
<DataGrid.Columns>
<DataGridTextColumn Binding="{x:Null}" ClipboardContentBinding="{x:Null}" Header="Squadra" MinWidth="100"/>
<DataGridTextColumn Binding="{x:Null}" ClipboardContentBinding="{x:Null}" Header="1" MinWidth="40" CanUserResize="False" />
<DataGridTextColumn Binding="{x:Null}" ClipboardContentBinding="{x:Null}" Header="X" MinWidth="40" CanUserResize="False" />
<DataGridTextColumn Binding="{x:Null}" ClipboardContentBinding="{x:Null}" Header="2" MinWidth="40" CanUserResize="False" />
<DataGridTextColumn Binding="{x:Null}" ClipboardContentBinding="{x:Null}" Header="un 1.5" MinWidth="40" CanUserResize="False" />
<DataGridTextColumn Binding="{x:Null}" ClipboardContentBinding="{x:Null}" Header="ov 1.5" MinWidth="40" CanUserResize="False" />
</DataGrid.Columns>
</DataGrid>
</StackPanel>
我设置了控制范围,让你知道它应该是什么......单选按钮和数据网格位于一个组框中。我该如何解决?
答案 0 :(得分:0)
为什么不使用两个堆叠面板?
<GroupBox Grid.Column="2" Header="Approfondimento pronostici" HorizontalAlignment="Stretch" HorizontalContentAlignment="Stretch" VerticalContentAlignment="Stretch" >
<StackPanel Orientation="Vertical">
<StackPanel Orientation="Horizontal">
<RadioButton Content="Primo tempo" Margin="3,5,0,128" />
<RadioButton Content="Parziale/Finale" Margin="8,5,8,128" />
</StackPanel>
<DataGrid ColumnWidth="*" Grid.Row="2" Grid.Column="2" HorizontalAlignment="Stretch" HorizontalContentAlignment="Stretch" VerticalContentAlignment="Stretch" ScrollViewer.HorizontalScrollBarVisibility="Auto" AutoGenerateColumns="False" Width="auto">
<DataGrid.Columns>
<DataGridTextColumn Binding="{x:Null}" ClipboardContentBinding="{x:Null}" Header="Squadra" MinWidth="100"/>
<DataGridTextColumn Binding="{x:Null}" ClipboardContentBinding="{x:Null}" Header="1" MinWidth="40" CanUserResize="False" />
<DataGridTextColumn Binding="{x:Null}" ClipboardContentBinding="{x:Null}" Header="X" MinWidth="40" CanUserResize="False" />
<DataGridTextColumn Binding="{x:Null}" ClipboardContentBinding="{x:Null}" Header="2" MinWidth="40" CanUserResize="False" />
<DataGridTextColumn Binding="{x:Null}" ClipboardContentBinding="{x:Null}" Header="un 1.5" MinWidth="40" CanUserResize="False" />
<DataGridTextColumn Binding="{x:Null}" ClipboardContentBinding="{x:Null}" Header="ov 1.5" MinWidth="40" CanUserResize="False" />
</DataGrid.Columns>
</DataGrid>
</StackPanel>
</GroupBox>
答案 1 :(得分:0)
GroupBox
只能包含一个子元素作为其内容。因此,您需要重新排列布局以考虑到这一点。我建议Grid
。
<GroupBox>
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="Auto"/>
<RowDefinition/>
</Grid.RowDefinitions>
<StackPanel/>
<DataGrid Grid.Row="1"/>
</Grid>
</GroupBox>
您可以轻松使用DockPanel
。
答案 2 :(得分:0)
<DockPanel LastChildFill="True">
<StackPanel Orientation="Horizontal" HorizontalAlignment="Center" DockPanel.Dock="Top" Background="SkyBlue">
<RadioButton Content="First Radio Button" HorizontalAlignment="Center" Margin="5,2"/>
<RadioButton Content="Second Radio Button" HorizontalAlignment="Center" Margin="5, 2"/>
</StackPanel>
<DataGrid DockPanel.Dock="Bottom" Background="SlateGray" >
</DataGrid>
</DockPanel>
这可以是一个解决方案。
根据颜色,您也有样本图片。