如何将自引用表绑定到WPF TreeView [英] How to bind Self-referencing table to WPF TreeView
本文介绍了如何将自引用表绑定到WPF TreeView的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
从edmx绑定自引用表的最佳解决方案是什么? /4uNpU.pngalt =在这里输入图像描述>
到WPF TreeView
控件有东西喜欢:
解决方案
我使用这个绑定转换器解决问题
:
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 =treeview1ItemsSource ={Binding Converter = {StaticResource HierarchyConverter}}ItemTemplate ={StaticResource ItemTemplate}>
< TreeView.Resources>
< local:HierarchyConverter x:Key =HierarchyConverter/>
< HierarchicalDataTemplate x:Key =ItemTemplateItemsSource ={Binding Converter = {StaticResource HierarchyConverter}}>
< TextBlock Text ={Binding element_name}/>
< / HierarchicalDataTemplate>
< /TreeView.Resources>
< / TreeView>
.cs:
treeview1.ItemsSource = db.MyTable.Where(x => x.partnt_id == null); //没有父元素
What is the best solution to bind a self-referncing table from edmx like:
to a WPF TreeView
control to have something like:
解决方案
I solve the problem using this 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
这篇关于如何将自引用表绑定到WPF TreeView的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文