我有一个绑定到OberservableCollection的TreeView。当我将项目添加到该列表时,所有工作正常,但缺少TreeView的缩进。所有TreeViewItem都具有相同的缩进级别,无论它们在树视图中的级别如何。这样做的问题是您无法真正看到哪个元素处于哪个级别。
Item类包含一个名为“ Children”的其他Items列表,一个名为“ 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>
如我所说,绑定很好。只是缩进不起作用。
如果你们的人能帮助我,我会很高兴。