首页 > 解决方案 > 缺少 WPF TreeView 缩进

问题描述

我有一个绑定到 OberservableCollection 的 TreeView。当我将项目添加到该列表时,一切正常,只是缺少 TreeView 的缩进。所有 TreeViewItem 都具有相同级别的缩进,无论它们在树视图中的级别如何。这样做的问题是您无法真正看到哪个元素处于哪个级别。

Item 类包含一个名为“Children”的其他项目的列表、一个名为“ItemName”的字符串和一个名为“ImageSource”的 BitmapImage。我已经尝试过没有绑定。我只是在事件中添加了新的 TreeViewItems,但我遇到了同样的问题。

这是该 TreeView 的 XAML 代码:

<TreeView Grid.Column="0" Name="ProjectTree" ItemsSource="{Binding ItemList, Mode=TwoWay}">
    <TreeView.Resources>
        <HierarchicalDataTemplate DataType="{x:Type ViewItems:Item}" ItemsSource="{Binding Path=Children, Mode=TwoWay}">
            <Grid>
                <Grid.ColumnDefinitions>
                    <ColumnDefinition Width="22"/>
                    <ColumnDefinition Width="*"/>
                </Grid.ColumnDefinitions>
                <Image Source="{Binding ImageSource}" RenderOptions.BitmapScalingMode="HighQuality" Grid.Column="0" Width="20" Margin="1"/>
                <TextBlock Text="{Binding ItemName}" Grid.Column="1" VerticalAlignment="Center"/>
            </Grid>
        </HierarchicalDataTemplate>
    </TreeView.Resources>
</TreeView>

正如我所说,绑定很好。只有缩进不起作用。

如果你们能帮助我,我会很高兴。

标签: c#wpfbindingtreeview

解决方案


推荐阅读