我的具體問題背後有大量代碼,所以我將嘗試理解我試圖實現的方法,而不是提供/請求任何編碼示例。話雖如此,我將在此後發佈並接受盡可能多的代碼,以達到此級別的理解 - 我們將看看這是怎麼回事!數據在C#中使用Linq-to-SQL將嵌套ListView綁定到ObservableCollection WPF
上下文:
我已經開發了一個嵌套的ListView。這是一個ListView,它包含每個ListViewItem中的另一個ListView(如果喜歡,可以使用一個List-View-Ception)。
奕列表視圖需要從一個表中包含的數據,和嵌套列表視圖需要包含從相關表中的數據(與外鍵鏈接)
本來,我開發了定義一個嵌套的ObservableCollection類(有在class/listview中的數據比它嵌套的集合更多 - 但我們暫時忽略這一點!)。
然後我:
- 填充用我的SQL數據庫類的尋找有吸引力的環
- 填充換過吸引力環每個嵌套集合的ObservableCollection;手動從相關表
- 設置的DataContext我的ListView的集合中選擇正確的數據
- 終於在XAML中設置的綁定值等於
問題就解決了我的觀察集合的類的公共名。問題回答。非常感謝你。
然後我:
- 發現LINQ到SQL
- 刪除了我的SQL數據庫類
- 刪除了我的ObservableCollection類
- 持續缺失,橫衝直撞,將由我的程序中的變量被記住未來幾年。
因此,我創建了Linq-to-SQL類,連接到我的數據庫並將表拖入提供的接口中。
當我親眼目睹designer.cs的內容時,我感到非常震驚 - 這是一個完美的模型化結構,它完美地代表了我的兩張桌子,我不得不停下來敬畏。
然後我:
- 創建一個新的類,它繼承了一個ObservableCollection(表在我的數據庫)
- 將一個foreach循環在我的新類的構造函數來填充集合
- 創建我的第一個對象,發送一個Linq-to-Sql類的數據上下文對象(又名:在我的表中創建一個數據集合)
- 重新命名我的綁定路徑值以匹配我的列數據庫
- 在我的鍵盤上消除了F5鍵
Listview包含數據 - 必須說,這個系統給我留下了深刻的印象。
問題:
然而,嵌套列表視圖每個項目是空的!
所以,我則:
- 經過數據庫;第二個表包含的數據,與外鍵
- 在designer.cs注意的正確鏈接,該嵌套的數據將被存儲在一個的EntitySet
- 調試並經過所述的ObservableCollection
我發現的數據,是印象深刻的是,Linq-To-SQL類已經根據外鍵值將第二個表格數據正確地分隔到了每個收集項目。其實我印象非常深刻。
但是,我不知道如何綁定這些值並讓它們顯示!他們在這裏(調試):
- TheDataContextObject[N-Item]->TheNestedEntitySet->non-public members->entities->[The List of Nested Data for that Item]
在EntitySet的數據是正確的 - 我只是不明白,我怎麼可以綁定到這些值。
所有幫助表示讚賞 - 我會嘗試和改進的問題隨着時間流逝的總體質量,並會向所有人開放的建議。
非常感謝。
發現實體框架,請^ - ^。哦,還有MVVM。 – UIlrvnd
@StefanDenchev - 很高興。你能否提供給我一個推薦的鏈接,我不可能在谷歌搜索中找到我即將做出的......謝謝。 – Robert
當然,[這裏](http://reedcopsey.com/series/windows-forms-to-mvvm/)的MVVM,你可以查看[Julie Lerman](http://thedatafarm.com/blog/)' s教程在pluralsight .. – UIlrvnd