设置DataTemplate内部的宽度



我使用HiearchicalDataTemplate在树视图中显示项目。我希望进度条出现在树视图的第三层。项目的名称应该在左边,进度条应该在最右边。这是我到目前为止所尝试的。

<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>

但是,进度条正好在Group Name结束后开始。

进度条填充DockPanel的其余部分。将第三个不可见的东西放入DockPanel中,不带附加属性DockPanel. dock。这将导致进度条位于右侧。

最新更新