我有一個WPF TreeView由可觀察集合填充,使用hiarchialdatabinding 我需要訪問我的可觀察集合或用於填充它的數據庫中的項目。 示例用例是用戶右鍵單擊樹視圖項以添加子組。我顯然需要訪問它的父母來添加孩子。 有什麼建議嗎?我太失去了..在選定的項目中可觀察集合中的訪問項目
我不能只是編輯樹形視圖項目本身引起,則變化不會反射回我的數據庫
數據庫代碼:
[Serializable]
public class LoginGroup
{
public string Name { get; set; }
public Guid ID { get; set; }
public List<Login> LoginItems = new List<Login>();
public List<LoginGroup> Children { get; set; }
}
public static ObservableCollection<LoginGroup> _GroupCollection = new ObservableCollection<LoginGroup>();
public ObservableCollection<LoginGroup> GroupCollection
{
get { return _GroupCollection; }
}
的TreeView:
<TreeView x:Name="groupView" Width="211" TreeViewItem.Selected="OnTreeItemSelected" DockPanel.Dock="Left" Height="Auto" ItemsSource="{Binding GroupCollection}" >
<TreeView.ItemTemplate>
<HierarchicalDataTemplate ItemsSource="{Binding Path=Children}">
<TextBlock Text="{Binding Path=Name}" />
</HierarchicalDataTemplate>
</TreeView.ItemTemplate>
</TreeView>
這很多我知道,那不是我的問題。看最後一行。我不能編輯樹視圖項本身,因爲這些更改不會反映回我的數據庫 – Lexious
@Lexi,我不是建議你編輯TreeView本身;在'selectedGroup'上執行所需的任何更改,然後將其保存到數據庫中......哪部分完全有問題? –
嗯,這是我的問題..我不知道我將如何去找到我的方式,在數據庫中的項目,說它是一個孩子的孩子的孩子等孩子。我怎麼會去找到相同的在數據庫中的位置?我曾嘗試過使用獨特的標識符進行實驗,但沒有運氣 – Lexious