Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/308.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/silverlight/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何在Silverlight 4中设置数据网格的高度_C#_Silverlight_Silverlight 4.0 - Fatal编程技术网

C# 如何在Silverlight 4中设置数据网格的高度

C# 如何在Silverlight 4中设置数据网格的高度,c#,silverlight,silverlight-4.0,C#,Silverlight,Silverlight 4.0,我在一个页面中有两个数据网格,每个数据网格通过以下布局/标记定位: <border BorderBrush="Black"> <Grid> <Grid.RowDefinitions> <RowDefinition Height="30"/> <RowDefinition Height="*"/> <RowDefinition Heigh

我在一个页面中有两个数据网格,每个数据网格通过以下布局/标记定位:

<border BorderBrush="Black">
    <Grid>
        <Grid.RowDefinitions>
            <RowDefinition Height="30"/>
            <RowDefinition Height="*"/>
            <RowDefinition Height="30"/>
        </Grid.RowDefinitions>
        <TextBlock x:Name="Title" Grid.Row="0" Grid.Column="0" VerticalAlignment="Center" Margin="6,0,0,0" Content="Panel Title"/>
        <toolkit:BusyIndicator Grid.Row="1" Grid.Column="0" x:Name="GridLoadingIndicator">
            <StackPanel Orientation="Vertical">
                <sdk:DataGrid x:name="GVData" 
                    VerticalAlignment="Stretch"
                    HorizontalAlignment="Stretch"
                    AutoGenerateColumns="False"
                    HorizontalScrollBarVisibility="Visible"
                    SelectionMode="Single">
                    <datagrid:DataGridTextColumn Header="Column 1" Binding="{Binding Col1}" />                              
                    <datagrid:DataGridTextColumn Header="Column 2" Binding="{Binding Col2}" />                              
                    <datagrid:DataGridTextColumn Header="Column 3" Binding="{Binding Col3}" />                              
                    <datagrid:DataGridTextColumn Header="Column 4" Binding="{Binding Col4}" />                              
                    <datagrid:DataGridTextColumn Header="Column 5" Binding="{Binding Col5}" />
                </sdk:DataGrid>
            </StackPanel>
        </toolkit:BusyIndicator>
        <StackPanel x:Name="PagerControls" Grid.Row="2" Grid.Column="0" Orientation="Horizontal">
            <!-- Pager -->
        </StackPanel>
    </Grid>
</border>

嗯,问题是网格本身不想拉伸以填充分配给它的空间,而且它也不响应页面大小事件


关于如何解决这个问题有什么想法吗?

德里克·贝蒂的评论是正确的

如果您的
网格
位于
堆栈面板
内,并且
堆栈面板
没有
水平对齐=“拉伸”
(即在不增长的方向上),则堆栈面板将适合其子级

这将使
网格中的
HorizontalAlignment=“Stretch”
无效,因为它只能拉伸到其直接父级(即
StackPanel
)。它是一个
StackPanel
的事实意味着
VerticalAlignment=“Stretch”
在内部网格上没有任何作用

如果您确实需要内部的
堆叠面板
(没有只有一个子节点的点),那么也可以向其添加
HorizontalAlignment=“Stretch”
。这对垂直拉伸没有任何影响


就我个人而言,我会将包围内部
网格的
堆栈面板
转储,因为它没有增加任何价值。

网格位于堆栈面板中的原因是什么?我用边框尝试了一下,效果非常好!即使使用堆栈面板上的HorizontalAlignment=“Stretch”和VerticalAlignment=“Stretch”,仍然会产生相同的问题。正如@Derek Beattie建议的那样,我将堆栈面板更改为边框,一切都很好。StackPanels关于堆栈,正如他们所说:)在您当前的设计中,您也不需要边框,只需要网格本身。是否有将其嵌套在另一个控件中的原因?