为了账号安全,请及时绑定邮箱和手机立即绑定

使用 Galasoft MVVM 无法显示 TreeView 项目

使用 Galasoft MVVM 无法显示 TreeView 项目

C#
开心每一天1111 2021-06-03 18:51:08
我在使用 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 - 我必须将顶级绑定到子项。这省略了我的根节点,但其他一切似乎都有效,所以我现在就用这个。谢谢您的帮助!


查看完整回答
反对 回复 2021-06-05
  • 2 回答
  • 0 关注
  • 211 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信