WPF在网格内的UniformGrid内部进行拉伸控制

时间:2014-01-02 11:21:23

标签: c# wpf

我有点麻烦让我的控件在WPF中延伸,所以希望有人知道答案。基本上我有一个4行网格,行定义如下:

<Grid.RowDefinitions>
     <RowDefinition Height="10*"/>
     <RowDefinition Height="60*" />
     <RowDefinition Height="15*" />
     <RowDefinition Height="15*" />
</Grid.RowDefinitions>

这是我感兴趣的第二行,因为在树视图(第0列)和列表视图(第1列)中。我想要发生的是两个对象扩展以填充可用空间 - 在这种情况下为60%,但无论我做什么我都无法扩展它。

我对该行的代码如下:

<Grid Grid.Row="1">

  <UniformGrid VerticalAlignment="Stretch" HorizontalAlignment="Stretch" Height="Auto">

      <TreeView x:Name="treeSubProjects"         
                SelectedItemChanged="treeSubProjects_SelectedItemChanged" 
                VerticalAlignment="Stretch" HorizontalAlignment="Stretch">

          <TreeView.ItemTemplate>

              <HierarchicalDataTemplate DataType="{x:Type local:Project}" ItemsSource="{Binding Path=children}">
                  <TextBlock x:Name="txtSubProject" Text="{Binding Path=ProjectName}" />

              </HierarchicalDataTemplate>
         </TreeView.ItemTemplate>

     </TreeView>
     <ListBox x:Name="lstDetails"  VerticalAlignment="Stretch" HorizontalAlignment="Stretch"/>

 </UniformGrid>          

</Grid>

我在阅读了一些建议后决定使用UniformGrid,但在此之前,我有一个包含控件的2列网格。我没有选择任何东西似乎有任何区别 - 控件在屏幕顶部被压缩而不是按预期占用60%

任何建议

1 个答案:

答案 0 :(得分:2)

Rows="1" Columns="2"添加到您的UniformGrid并删除Height=...