MulitGrid с дочерними сетками - PullRequest
0 голосов
/ 20 января 2012

Я не знаю, был ли получен ответ, но я пытаюсь сделать так: у меня есть parentGrid с 3 строками, первые две - это полоса меню и панель инструментов, третья строка - это дочерняя сетка, заполненнаявыбор, который выбирается из панели инструментов.проблема в том, что я хочу, чтобы формы, загружаемые в дочернюю сетку, не имели высоты, превышающей ту, которую я установил в этой строке в parentGrid.

вот в основном то, что у меня есть для кода

<Grid x:Name="ParentGrid" Margin="0" >
    <Grid.RowDefinitions>
        <RowDefinition Height="22"></RowDefinition>
        <RowDefinition Height="90"></RowDefinition>
        <RowDefinition Height="544*"></RowDefinition>
        <!--516<RowDefinition Height="80*"></RowDefinition>
        <RowDefinition Height="10*"></RowDefinition>-->
    </Grid.RowDefinitions>

    <DockPanel></DockPanel><!--Dock Panel Menu Strip-->
    <DockPanel></DockPanel><!-- Dock Panel ToolBar-->

    <Grid x:Name="ChildGrid" Grid.Row="2" Height="544">
    </Grid>

</Grid>

Ответы [ 2 ]

0 голосов
/ 24 января 2012

Решение, которое работало для меня, состояло в том, что вместо использования Grid в качестве внутреннего потомка я использовал ScrollViewer в качестве контейнера

0 голосов
/ 20 января 2012

Установите высоту в вашем RowDefinition равной высоте вашей сетки, затем создайте дополнительное RowDefinition с Height="*", чтобы занять оставшееся пространство

<Grid x:Name="ParentGrid" Margin="0" >
    <Grid.RowDefinitions>
        <RowDefinition Height="22"></RowDefinition>
        <RowDefinition Height="90"></RowDefinition>
        <RowDefinition Height="544"></RowDefinition>
        <RowDefinition Height="*"></RowDefinition>
    </Grid.RowDefinitions>

    <DockPanel></DockPanel><!--Dock Panel Menu Strip-->
    <DockPanel></DockPanel><!-- Dock Panel ToolBar-->

    <Grid x:Name="ChildGrid" Grid.Row="2">
    </Grid>

</Grid>

* вRowDefinitions означает «все оставшееся пространство».Добавление числа определяет соотношение оставшегося пространства, которое получит этот столбец.Например, если вы говорите, что один столбец будет 1*, а другой - 2*, это означает, что 2-й столбец займет вдвое больше места, чем первый.Если один столбец занимает 544*, а другой - 10*, это означает, что доступное пространство будет разделено на 554 части, а 544 части будут переданы первому столбцу, а 10 частей будут переданы второму столбцу.

...