2014-07-03 86 views
0

我正在使用HiearchicalDataTemplate在樹視圖中顯示項目。 我想要一個進度條出現在樹視圖的第三層。該項目的名稱應該在左邊,進度條應該在最右邊。這是我到目前爲止所嘗試過的。設置DataTemplate中的寬度

<UserControl.Resources> 
<HierarchicalDataTemplate x:Key="Level3" 
           ItemsSource="{Binding EquipmentCollection}" 
           ItemTemplate="{StaticResource Level4}"> 
     <DockPanel HorizontalAlignment="Stretch"> 
      <TextBlock Text="{Binding GroupName}" DockPanel.Dock="Left"/> 
      <ProgressBar x:Name="GrpProgress" Width="400" Margin="0,5,0,0" DockPanel.Dock="Right" 
      </ProgressBar> 
     </DockPanel> 
    </HierarchicalDataTemplate> 
    <HierarchicalDataTemplate x:Key="Level2" 
           ItemsSource="{Binding FamilyMembers}" 
           ItemTemplate="{StaticResource Level3}"> 
     <TextBlock Text="{Binding FamilyName}"/> 
    </HierarchicalDataTemplate> 

    <HierarchicalDataTemplate x:Key="Level1" 
           ItemsSource="{Binding SelectedFamilies}" 
           ItemTemplate="{StaticResource Level2}"> 
     <TextBlock Text="{Binding Name}"/> 
    </HierarchicalDataTemplate> 
</UserControl.Resources> 

<TreeView Grid.Row="1" Grid.Column="0" Grid.ColumnSpan="3" x:Name="FamilyTreeView" Background="WhiteSmoke" 
      ItemsSource="{Binding SelectedItems}" ItemTemplate="{StaticResource Level1}" HorizontalContentAlignment="Stretch"> 
</TreeView> 

但是,進度條在組名結束後立即開始。 任何幫助,將不勝感激。

回答

2

進度條填寫DockPanel的其餘部分。將第三個不可見的東西放入DockPanel中,而無需附加屬性DockPanel.Dock。這會導致進度條位於右側。

+0

Thanks..it工作。 我還必須修復包含GroupName的TextBlock的寬度,以使所有進度條在相同位置開始。 – user3668639