2014-07-03 85 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