我正在尝试将级别3的列表绑定到wpf mvvm中的treeview。我通过调用模型类中的函数来获取此列表。我有类似下面的课程结构。
namespace Projectname.Model
{
class Gate
{
public string Name { get; set; }
public string Location { get; set; }
public string IP { get; set; }
public int Port { get; set; }
public string GateMode { get; set; }
public string Type { get; set; }
public string Status { get; set; }
};
class Floor
{
public string Name { get; set; }
public List<Gate> Gates { get; set; }
};
class Building
{
public string Name { get; set; }
public List<Floor> Floors { get; set; }
};
}
以下是我的尝试。这里我不知道如何给出数据类型。
<TreeView ItemsSource="{Binding Buildings}" Margin="10" Height="200">
<TreeView.Resources>
<HierarchicalDataTemplate ItemsSource="{Binding Buildings}" DataType="{x:Type local:Building}">
<TreeViewItem Header="{Binding Name}"/>
</HierarchicalDataTemplate>
</TreeView.Resources>
</TreeView>
属性
Window x:Class="projectname.MainWindow"
xmlns:xctk="http://schemas.xceed.com/wpf/xaml/toolkit"
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:i="http://schemas.microsoft.com/expression/2010/interactivity"
xmlns:local="clr-namespace:projectname.Model"
我能够显示建筑物名称,但是像其他一样不像树一样 如下图所示。
感谢任何帮助。