3

次のようなedmxから自己参照テーブルをバインドするための最良の解決策は何ですか?

ここに画像の説明を入力してください

WPFTreeViewコントロールに次のようなものを追加します。

ここに画像の説明を入力してください

4

2 に答える 2

3

私はこれを使用して問題を解決します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
于 2013-01-07T08:56:16.353 に答える
1

Josh Smithには、バインドできるビューモデルを作成する方法を説明するCodeProjectに関する優れた記事があります。TreeViewEFは再帰を行わないため、EFを使用するだけではうまくいきません。

于 2013-01-05T15:14:03.537 に答える