2009-04-23 85 views
1

我正在構建一個WPF訂單管理器應用程序,並且遇到了不知該如何處理的情況。列表框的DataTemplate中的WPF訪問控件

我想重新綁定每個訂單的採購訂單請求列表,但我只想要這樣做,如果在應用程序中顯示採購訂單請求面板(他們雙擊該訂單以顯示採購清單訂單請求)。我遇到的問題是,訂單請求是訂單列表框中每個列表項內的列表框,我無法找到一種方法來遍歷列表項中的控件(我只能遍歷實際對象,例如OrderInfo)。

我想什麼做的是

OrderListBox.FindName("PurchaseOrderListBox") 

2個訂單顯示採購訂單請求,1,爲了不顯示任何 alt text http://www.readyflowers.co.uk/images/crm-datatemplate.png

我想結果了CRM的一個例子實現 alt text http://www.readyflowers.co.uk/images/crm-datatemplate-saved.png

回答

1

我不知道我明白你的問題....

但它感覺就像你試圖通過UI層次來破解找到一些東西(ala WinForms) - 這就像在WPF中逆潮流游泳一樣。它會讓你累得真快..

在ViewModel模式中尋找文章。其中一個我讀到的是Dan Crevier。基本思想是爲UI提供一個Model對象 - UI(數據)綁定到由ViewModel公開的屬性。現在,您的所有UI相關邏輯都可以進入ViewModel,ViewModel會通過propertyChanged通知會話狀態的任何更改通知。所以如果一個字段改變,ViewModel會得到通知。 ViewModel更新相關屬性並相應刷新UI。

在這種情況下,ViewModel.OrderInfo.Find_PO_with_X(searchCriteria)將幫助您找到正確的對象。如果找到,則表示ViewModel.ShowGreenLight = true,綁定到此屬性的UI控件將變爲綠色。

HTH