Связывание TreeView и Entity Framework - PullRequest
3 голосов
/ 28 февраля 2012

Я новичок в WPF и EF;Я посмотрел, но не смог найти соответствующую помощь.


Вот что у меня есть:

Entity Framework ( ReportDefinition.ParentID и ReportDefinition.SectionID : Section.idSections ), Пример ReportDefinition и Пример раздела .

Вот что я хотел бы представить:

TreeView .

Diagram Picture.


Я пытаюсь достичь этого программно,Я был бы очень признателен за любую помощь.

1 Ответ

3 голосов
/ 28 февраля 2012

Вам нужна коллекция объектов верхнего уровня ReportDefinition:

TopLevelReportDefinitions = ReportDefinitions.Where(rd => rd.ParentID == 0)

Вам необходимо связать эту коллекцию с ItemsSource из TreeView.

В EF вам также необходимо создать отношение родитель-потомок на ReportDefinition, связывающее детей с родителем с помощью ParentID. Для удобства можно назвать реверсивную коллекцию Children. Коллекция ReportDefinition объектов непосредственно под другим ReportDefinition является тогда коллекцией:

ReportDefinition.Children

Затем вам нужно создать HierarchicalTemplate в TreeView:

<TreeView ItemsSource="{Binding TopLevelReportDefinitions}">
  <TreeView.ItemTemplate>
    <HierarchicalDataTemplate ItemsSource="{Binding Children}">
      <TextBlock Text="{Binding Name}"/>
    </HierarchicalDataTemplate>
  </TreeView.ItemTemplate>
</TreeView>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...