考慮一個任務等級:如何使用一個TreeView作爲綁定源其他控件
TaskID
ParentID
Title
<several other properties>
Description
SubTasks <-- a collection of tasks
首先我填充叫AllTasks任務的層次結構,然後將其加載到TreeView控件:
TaskTree.DataContext = AllTasks
工作正常。現在,我想在用戶從TreeView單擊任務時使用任務數據填充其他幾個控件。我只會考慮說明屬性,因爲這足以說明問題。
我的樹視圖的定義如下:
<TreeView
x:Name="TaskTree"
SelectedValuePath="Task">
<TreeView ItemsSource="{Binding}">
<TreeView.ItemTemplate>
<HierarchicalDataTemplate ItemsSource="{Binding Path=SubTasks}">
<TextBlock Text="{Binding Path=Title}" />
</HierarchicalDataTemplate>
</TreeView.ItemTemplate>
</TreeView>
</TreeView>
應顯示由用戶選擇的任務的說明屬性文本框被定義爲:
<DockPanel
DataContext="{Binding ElementName=TaskTree}">
<TextBox
x:Name="txtDescription"
Text="{Binding Path=SelectedItem.Discussion}"
</DockPanel>
什麼也不表示在向上文本框。我嘗試設置....
Text="{Binding Path=Discussion}"
...但那也行不通。我嘗試了其他組合,但無濟於事。什麼工作?
你應該實施一個視圖模型。請參閱MVVM。 – dymanoid