2010-11-16 164 views
0

長標題,希望它是有道理的。似乎無法弄清楚我將如何實現這一點。或者,如果我的方法甚至在某種程度上與這種有點東西B/C的最佳做法正在跟蹤我仍然在使用mvvm並可能不正確使用它。wpf - 具有兩個可綁定集合的viewmodel。使用一個集合的datacontext來過濾另一個集合

我在我正在處理的應用程序中有一個簡單的viewmodel,它包含兩個指向datamodel集合的屬性。

public ChuteGroupsModel Groups { get; set; } 
    public WaveStatusModel Waves { get; set; } 

這些數據模型中的每一個都包含我在我的MainWindow的tabcontrol中所需的所有數據。一個tabpage是一個統計數據網格,另一個頁面是一個自定義用戶控件,用於將物理「工作」區域可視化。

我今天決定,我想在我的自定義用戶控件的工具提示內部顯示網格中的一些統計值(項目數量,#剩餘數量等)。我的兩個集合只通過ID#字段連接。

因此,基本上我需要根據綁定到「組」的當前元素的ID#屬性來篩選/綁定到我的「Waves」集合。

這裏顯而易見的答案是修改我的sql視圖,以包含額外的字段,這些字段將使我們可以立即在我的應用程序中綁定到這些字段。

由於所有的數據我希望可視已經存在,我不禁覺得更改SQL是有點多餘,一些簡單的解決方案的存在是爲了幫我收集這些價值觀我的其他收藏。

任何人都可以提供任何我可以嘗試做的建議嗎?如果我的問題沒有意義,我可以嘗試用更多的代碼片段重新聲明它,並希望這會有所幫助。

回答

0

也許關於你的ViewModel/View綁定的更多信息會有所幫助。正如所給出的那樣,如果ViewModel將Groups和Waves的屬性暴露給你的View,並且包含TabControl的View被綁定到你的ViewModel,我沒有看到爲什麼TabPage上的控件不能綁定到來自任何一個數據模型的屬性。換句話說,ViewModel可以從View中抽象出單獨的數據模型集合,例如構建它自己的對象集合,這些對象集合公開了ChuteGroup及其關聯的WaveStatus的屬性。該視圖然後可以綁定到該集合,並訪問這兩個對象的屬性。

相關問題