2011-10-16 64 views
0

我有一個包含Listbox的視圖。我將它稱爲CityListingPage.xaml。該列表頁面有一個CityListingViewModel,即綁定使用瀏覽喜歡有點像這樣:從ViewModel在UserControl中設置DataContext

DataContext="{Binding CityListing, Source={StaticResource Locator}}" 

這工作得很好。現在我該如何改變我的頁面到一個Pivot控件,其中樞軸項目將是CityListingViewModel的實例,但顯然具有不同的構造函數數據(即國家)

我將ListBox提取到UserControl中。現在我正在努力如何完成這項工作,以便爲每個列表獲取CityListingViewModel的新實例。

我試着在ViewModelLocator中創建CityListingViewModels的集合,但是如何將CityListingViewModel實例傳遞給UserControls DataContext?

也許有這樣做的不同,更好的方法?

回答

1

沒有看到你的代碼,我會做一些猜測,但我認爲你可以直接通過數據綁定來完成。由於每個樞軸項目越來越CityListingViewModel的一個實例,你可以通過沿到該用戶控件綁定:

如果您發佈多一點的代碼顯示你想要做什麼,我們也許能夠有更多的幫助。

0

如果您正在考慮在數據透視表上的多個視圖中劃分相同的數據,那麼我建議不要使用多個視圖模型,尤其是如果它與您用於所有數據的數據源相同。

只需擁有一個參數,每個視圖將綁定到一個參數,並使用Linq來控制該參數可見的數據。

因此,您將擁有包含要顯示的所有數據的變量以及查看該數據的每個視圖的一個參數。

相關問題