XAML努比来了!我现在得到的是:
现在我需要列出这些,让用户检查一些机器或驱动器,显示一些驱动器信息。我的第一个目标是将我的机器列表绑定到Treeview (对于根元素),并为第一级子级驱动,但我真的做不到!
我在这里做的是:
<TreeView ItemsSource="{Binding MachineList}" Name="treeView1">
<TreeView.ItemTemplate>
<HierarchicalDataTemplate ItemsSource="{Binding DriveList}">
<TextBlock Text="{Binding driveName}" />
</HierarchicalDataTemplate>
</TreeView.ItemTemplate>
</TreeView>
这里我是如何在MachineList代码中声明C#的:
public ObservableCollection<MyContainerClass.Machine> MachineList{ get; set; }
正如我在调试期间可以验证的那样,我的MachineList包含正确的数据(即使DriveList被正确填充),但是在Treeview上没有显示任何内容。DriveList是一个ObservableCollection<MyContainerClass.Drive>
对象。
我做错什么了?
发布于 2014-03-19 00:35:52
将ItemTemplate设置为HierarchicalDataTemplate,如下所示。
<TreeView ItemsSource="{Binding MachineList}" Name="treeView1">
<TreeView.ItemTemplate>
<HierarchicalDataTemplate ItemsSource="{Binding DriveList}">
<TextBlock Text="{Binding machineName}" />
<HierarchicalDataTemplate.ItemTemplate>
<DataTemplate>
<TextBlock Text="{Binding driveName}" />
</DataTemplate>
</HierarchicalDataTemplate.ItemTemplate>
</HierarchicalDataTemplate>
</TreeView.ItemTemplate>
</TreeView>
更新(我尝试过的对我有用的代码):
public class Machines
{
private string machinename;
public string machineName
{
get { return machinename; }
set { machinename = value; }
}
private ObservableCollection<DriveList> driveList;
public ObservableCollection<DriveList> DriveList
{
get { return driveList; }
set { driveList = value; }
}
}
public class ViewModel
{
private ObservableCollection<Machines> machines;
public ObservableCollection<Machines> MachineList
{
get { return machines; }
set { machines = value; }
}
public ViewModel()
{
ObservableCollection<DriveList> list= new ObservableCollection<DriveList>();
list.Add(new DriveList() { driveName = "Drive 1" });
machines = new ObservableCollection<Machines>();
machines.Add(new Machines() { machineName = "Machine 1", DriveList =list });
}
}
public class DriveList
{
private string drivename;
public string driveName
{
get { return drivename; }
set { drivename = value; }
}
}
https://stackoverflow.com/questions/22499824
复制相似问题