我有一個包含ObservableCollection的SceneNode類。我希望整個樹出現,但我似乎無法得到這個與數據綁定。如果我只是將根添加到樹項目,一切都可以很好地工作。TreeView HierarchicalDataTemplate綁定
class SceneNode
{
public string Name {get;set;}
public ObserveableCollection<SceneNode> ChildrenNodes{get;set;}
....
}
class Scene
{
public SceneNode Nodes{get;set;}
}
所以我的場景綁定到樹木的數據上下文和下面是我的樹XAML
<TreeView MinHeight="250" ItemsSource={Binding Path=Nodes} >
<TreeView.ItemTemplate>
<HierarchicalDataTemplate DataType="{x:Type local:SceneNode}" ItemsSource="{Binding Path=ChildSceneNodes, UpdateSourceTrigger=PropertyChanged}">
<TextBlock Text="{Binding Path=Name, UpdateSourceTrigger=PropertyChanged}" Margin="0,10,0,10" />
</HierarchicalDataTemplate>
</TreeView.ItemTemplate>
</TreeView>
我顯示與樹控件之前我綁定的數據上下文幕後
sceneTree.Tree.DataContext = theScene;
沒有任何顯示,但如果不是綁定的數據怎麼辦
sceneTree.Tree.Items.Add(theScene.Nodes);
樹會顯示,我可以添加和刪除節點,這個活動反映在TreeView中。
爲了解決這個問題我在那個剛剛返回一個新的ObservableCollection場景對象的新屬性。 –