【发布时间】:2013-01-04 17:33:08
【问题描述】:
从 edmx 绑定自引用表的最佳解决方案是:
到 WPF TreeView 控件有类似的东西:
【问题讨论】:
标签: c# wpf entity-framework data-binding treeview
从 edmx 绑定自引用表的最佳解决方案是:
到 WPF TreeView 控件有类似的东西:
【问题讨论】:
标签: c# wpf entity-framework data-binding treeview
我用这个Binding Converter解决了这个问题:
public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
{
var item = value as MyTable;
return item.MyTable1.Where(i => i.parent_id== item.id); //return children
}
.xaml:
<TreeView Name="treeview1" ItemsSource="{Binding Converter={StaticResource HierarchyConverter}}" ItemTemplate="{StaticResource ItemTemplate}" >
<TreeView.Resources>
<local:HierarchyConverter x:Key="HierarchyConverter" />
<HierarchicalDataTemplate x:Key="ItemTemplate" ItemsSource="{Binding Converter={StaticResource HierarchyConverter}}">
<TextBlock Text="{Binding element_name}" />
</HierarchicalDataTemplate>
</TreeView.Resources>
</TreeView>
.cs:
treeview1.ItemsSource = db.MyTable.Where(x => x.partnt_id== null);//elements that have no parent
【讨论】:
Josh Smith 有一个出色的article on Code Project,它指导您如何制作一个您的TreeView 可以绑定到的视图模型。只使用 EF 是无法逃脱的,因为 EF 不进行递归。
【讨论】: