2014-01-02 6 views
0

У меня есть немного хлопот, чтобы мои элементы управления растягивались в WPF, поэтому, надеюсь, кто-то узнает ответ. В принципе у меня есть 4 строки сетка а, с рядами определяются следующим образом:WPF стрейч-контроль внутри UniformGrid внутри сетки

<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%, как и ожидалось

Любые советы appreicated

ответ

2

Добавить Rows="1" Columns="2" в свой UniformGrid и удалить Height=...

+0

Просто добавив Rows = "1", это было честно. Какое странное поведение :) Спасибо! – Andrew

Смежные вопросы