我在使用 WPF 和 Galasoft MVVM 工具包获得一个简单的 TreeView 来显示项目时遇到了一些困难。我一定错过了一些简单的东西,但我就是找不到。目前我想要的只是创建一组几个节点并显示它们。我什至还没有编写任何 RelayCommands 或任何其他实质性内容,因此无需担心。另外,我认识到我可能需要在某处包含一个 HierarchicalDataTemplate - 大概是替换“TreeView.ItemTemplate”部分。谁能指出我看不到的明显错误?任何帮助将不胜感激!编辑:我已经更新了代码来修复我愚蠢的缺乏子节点列表的问题,但仍然没有显示任何内容。主窗口.xaml:<Window x:Class="Analyzer.MainWindow" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:d="http://schemas.microsoft.com/expression/blend/2008" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" xmlns:ignore="http://www.galasoft.ch/ignore" mc:Ignorable="d ignore" Height="495.333" Width="700" Title="Analyzer" DataContext="{Binding MainViewModel, Source={StaticResource Locator}}"> <Window.Resources> <ResourceDictionary> <ResourceDictionary.MergedDictionaries> <ResourceDictionary Source="Skins/MainSkin.xaml" /> </ResourceDictionary.MergedDictionaries> </ResourceDictionary> </Window.Resources> <Grid x:Name="LayoutRoot" Background="{DynamicResource {x:Static SystemColors.ControlBrushKey}}"> <TextBlock FontSize="36" FontWeight="Bold" Foreground="Purple" VerticalAlignment="Center" HorizontalAlignment="Center" TextWrapping="Wrap" /> <TreeView ItemsSource="{Binding AllItems}" x:Name="MainTreeView" HorizontalAlignment="Left" Height="408" Margin="10,10,0,0" VerticalAlignment="Top" Width="662"> <TreeView.ItemTemplate> <HierarchicalDataTemplate ItemsSource="{Binding Children}"> <StackPanel Orientation="Horizontal"> <TextBlock Text="{Binding Path=Name}" /> </StackPanel> </HierarchicalDataTemplate> </TreeView.ItemTemplate> </TreeView>
2 回答
手掌心
TA贡献1942条经验 获得超3个赞
我认为你是对的,这两者之一存在问题;我一定在编辑过程中覆盖或剥离了一些重要的东西。我发现创建一个新项目后,我在理顺事情方面遇到的问题要少得多。
我还必须对我的 XAML 代码进行以下更改:
<TreeView x:Name="treeView" ItemsSource="{Binding AllItems.Children}" HorizontalAlignment="Left" Height="100" Margin="10,10,0,0" VerticalAlignment="Top" Width="188">
<TreeView.ItemTemplate>
<HierarchicalDataTemplate ItemsSource="{Binding Children}">
<TextBlock Text="{Binding Name}"/>
</HierarchicalDataTemplate>
</TreeView.ItemTemplate>
</TreeView>
出于某种原因,我无法将其直接绑定到 AllItems - 我必须将顶级绑定到子项。这省略了我的根节点,但其他一切似乎都有效,所以我现在就用这个。谢谢您的帮助!
- 2 回答
- 0 关注
- 211 浏览
添加回答
举报
0/150
提交
取消