2010-07-20 118 views
0

我是新來的MVVM模型,所以我想要一些建議,我現在使用的解決方案似乎並沒有工作。綁定到ViewModel從XAML

描述: 我有一個Viewmodel包含一個可觀察的客戶集合, 我用「後退」和「前進」按鈕在網格中顯示這些。 網格datacontext設置爲SelectedCustomer,它是我的viewmodel中的一個屬性。

到目前爲止好...

然而,客戶有一個statusfield,這是在數據庫中的狀態行的整數。 在我的viewmodel我有這個列表(observablecollection)填充,但是當我嘗試填充CustomerGrid中的組合框沒有數據顯示。我猜這是因爲網格上的Datacontext是SelectedCustomer屬性,而statuslist是在根視圖模型中。

問題是這樣的,我的組合框怎樣從customergrid訪問我的狀態列表,或者我應該如何處理這種情況?

回答

0
{Binding DataContext.ListOfStatus, RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type TypeOfParentControl}}} 

您可以綁定到一些網格可太組合框柱結合母公司的數據上下文

+0

好,聲音邏輯足夠,我的網格是在一個StackPanel,因此使用以下應該工作: <組合框的ItemsSource =「{結合DataContext.StatusGroups,的RelativeSource = {的RelativeSource FindAncestor,AncestorType = {X:類型的StackPanel} }}「DisplayMemberPath =」StatusName「Grid.Column =」1「Grid.Row =」6「/> 但它沒有,組合框仍然是空的。 任何想法? – 2010-07-20 12:52:11

+0

問題是我沒有在XAML中設置對我的viewmodel的引用,而是在我的App.xaml中。當我將viewmodel聲明爲靜態資源時,它就起作用了。 – 2010-07-21 07:54:25

0

。這取決於網格 - 我從來沒有在WPF或Silverlight中使用過一個網格,所以只需將它作爲一個提示。