显示类别没有问题,但我无法显示应该在类别中的对象。我做错了什么?
提前谢谢。
XAML- Datatemplates。
<DataTemplate x:Key="Component">
<TextBlock Text="{Binding Name}"/>
</DataTemplate>
<HierarchicalDataTemplate x:Key="Category"
ItemTemplate="{StaticResource Component}">
<TextBlock Text="{Binding Name}"/>
</HierarchicalDataTemplate>
XAML:Treeview
<telerik:RadTreeView x:Name="treeview" IsDragDropEnabled="True"
HorizontalAlignment="Left" Margin="10,10,0,10" Width="190"
IsManipulationEnabled="True"
IsExpandOnSingleClickEnabled="True"
ItemTemplate="{StaticResource Category}" />
C#:包含treeview的子对象的categoryclass。(从databasemodel生成)
public partial class Category
{
public Category()
{
this.MethodComponent = new HashSet<MethodComponent>();
}
public int Id { get; set; }
public string Name { get; set; }
public virtual ICollection<MethodComponent> MethodComponent { get; set; }
public override string ToString()
{
return Name;
}
}
}
C#获取数据:
public List<Category> Get_Categories()
{
using (var context = new ProcessDatabaseEntities())
{
return context.Category.ToList();
}
}
C#绑定数据:
treeview.ItemsSource = d.Get_Categories();
答案 0 :(得分:0)
您需要在 ItemsSource
上将 HierarchicalDataTemplate
设置为 MethodComponent
以填充父节点儿童集合。
<HierarchicalDataTemplate x:Key="Category"
ItemTemplate="{StaticResource Component}"
ItemsSource="{Binding MethodComponent}">
<TextBlock Text="{Binding Name}"/>
</HierarchicalDataTemplate>