c# - 缺少 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>
正如我所说,绑定很好。只有缩进不起作用。
如果你们能帮助我,我会很高兴。
解决方案
推荐阅读
- android - 使用 ffmpeg 为视频上的叠加 gif 添加透明度
- php - Woocommerce如何按产品SKU显示产品
- javascript - 从编辑器运行脚本功能无法按预期工作
- llvm - 如何为 LLVM 随机数生成器动态设置种子?
- xamarin - 将按钮值作为命令参数传递
- bash - 使用 tr 用 '-' 替换非字母字符是在字符串末尾添加一个额外的字符
- mysql - 为什么我从表中获取时间戳格式后会发生变化?
- python - 熊猫系列到 csv
- visual-studio-2013 - 截至 2018 年 8 月,推荐的 NLog 版本是什么?
- javascript - 为什么在多选列表中第二次没有选择该选项?