0
我是相對較新的C#/實體框架,並試圖獲得一個Treeview控件/ HierachicalDataTemplate與實體框架4.0工作,我缺少的東西。Treeview控件與實體框架
我有一個自引用表:
DIVID(PK,INT NOT NULL); divname(nchar(100),not null); divshortname(nchar(50),not null); parentid(FK,int,null); ORGID (FK,INT NOT NULL)
我已經裝表作爲「orghierarchy」到實體框架,並命名自關係「孩子」和單面「父」的很多副作用。
我從而創造一個ObservableCollection:
private ObservableCollection<orghierarchy> _firstgeneration;
public ObservableCollection<orghierarchy> FirstGeneration
{
get
{
if (OrgID != 0)
{
_firstgeneration = SetDivTree(OrgID);
}
return _firstgeneration;
}
set
{
if (value != _firstgeneration)
_firstgeneration = value;
}
}
public ObservableCollection<orghierarchy> SetDivTree(int _orgid)
{
ObservableCollection<orghierarchy> _temp;
using (var context = new IFREntities())
{
var divs = from orghierarchies in context.orghierarchies.Include("child")
where orghierarchies.orgid == _orgid & orghierarchies.parentid == null
orderby orghierarchies.divshortname
select orghierarchies;
_temp = new ObservableCollection<orghierarchy>(divs);
}
return _temp;
}
的「.INCLUDE」,似乎把所有的孩子回行基於單步調試代碼查詢。
我的XAML是
<TreeView x:Name="DivHierarchy" Margin="8" Grid.Row="5" Grid.Column="1" Grid.ColumnSpan="3" ItemsSource="{Binding FirstGeneration}" >
<TreeView.ItemTemplate>
<HierarchicalDataTemplate ItemsSource="{Binding FirstGeneration.child}">
<TextBlock Text="{Binding divname}" />
</HierarchicalDataTemplate>
</TreeView.ItemTemplate>
<TreeView.Background>
<SolidColorBrush Color="{DynamicResource BigCtrlBackground}"/>
</TreeView.Background>
我的樹視圖是空的,我不知道是什麼問題可能是。
嘿,@ DeeDub84 - 你有沒有得到這個工作?如果是的話,我真的會從答案中受益。謝謝一堆:)希望它解決了。 – Rachael