2

目前我的主要布局由垂直方向的堆栈面板组成,它看起来像这样:

根堆栈面板

  • StackPanel - 固定高度 150(水平方向)

  • StackPanel - 相对高度必须代表屏幕上剩余的可用空间(但至少 150 像素)。Telerik GridView Control 使用,如果我没有指定 Height 或 MaxHeight Telerik GridView 高度变得非常大并且不适合我的窗口。

  • StackPanel - 固定高度 100(水平方向)

  • StackPanel - 相对高度必须是屏幕上剩余可用空间的一半(但至少 150 像素)。Telerik GridView Control 使用,如果我没有指定 Height 或 MaxHeight Telerik GridView 高度变得非常大并且不适合我的窗口。

  • StackPanel - 固定高度 100(水平方向)

视图必须完全适合可用的屏幕尺寸。

问题是我不明白如何根据可用的屏幕尺寸调整视图的某些区域。

有没有简单的方法来解决它,或者我应该绑定到窗口高度属性并做数学?

非常感谢!

4

1 回答 1

3

我没有要测试的 Telerik 控件,所以这不在我的脑海中——你能不能不使用网格作为控件的基础,而不是像这样的堆栈面板?- 如果这仍然是一个问题,那么发布一些代码,我们可以看看你想要实现的目标。

    <Grid>
        <Grid.RowDefinitions>
            <RowDefinition Height="150"/>
            <RowDefinition Height="*"/>
            <RowDefinition Height="100"/>
            <RowDefinition Height="*" />
            <RowDefinition Height="100"/>            
        </Grid.RowDefinitions>
        <StackPanel Grid.Row="0" />
        <StackPanel Grid.Row="1" HorizontalAlignment="Stretch" VerticalAlignment="Stretch"  />
        <StackPanel Grid.Row="2" />
        <StackPanel Grid.Row="3" HorizontalAlignment="Stretch" VerticalAlignment="Stretch"  />
        <StackPanel Grid.Row="4" />
    </Grid>
于 2010-06-15T14:07:15.450 回答