2

在限制其子内容方面,我似乎永远无法理解 DockPanel、StackPanel 和 Grid 之间的差异。此 XAML:

   <DockPanel>
        <Menu/>
        <ToolBarTray/>
        <ScrollViewer>
        <Grid>
          <Grid.RowDefinitions>
              <RowDefinition/>
              <RowDefinition/>
          </Grid.RowDefinitions>
        <TabControl>
         <TabItem Header="Data" Name="tabData">
                <DockPanel>
                    <Border Name="extraDataBorder" DockPanel.Dock="Top"
                            Style="{StaticResource ConsistentBorder}" Margin="10">                                    
                    </Border>
                    <igDP:XamDataGrid Grid.Row="1"                                                                      
                            Margin="10,10,10,0"                                                                             
                            ScrollViewer.HorizontalScrollBarVisibility="Visible"
                            ScrollViewer.VerticalScrollBarVisibility="Visible"  >                       

                    </igDP:XamDataGrid>
                </DockPanel>
            </TabItem>
        </TabControl>
         </Grid>                                                                                             

      </ScrollViewer>

    </DockPanel>

生成一个不受屏幕可见区域限制的网格,如下图所示:

溢出网格

我不希望网格超出屏幕的可见区域。相反,我希望它被剪裁,以便用户可以看到水平滚动条,而不必向下滚动才能看到水平滚动条。我尝试使用 Stack 和 DockPanel 代替网格,但效果完全相同。我该如何解决?

TIA。

编辑: 我正在编辑原始 XAML 以包含导致此问题的其他元素。

4

1 回答 1

2

作为众多解决方案之一,您可以将其绑定到其父级的宽度和高度。

于 2012-05-02T15:53:37.673 回答