0
- 我有2次和的ViewModels稱爲SummaryView,SummaryViewModel和DetailsView控件,DetailsViewModel
- 我創建的ObservableCollection財產SummaryViewModel 。
- 以下代碼在摘要查看訪問集合並將其與View綁定。
============================================ ======================================訪問視圖模型的的ObservableCollection
<TabControl ItemsSource="{Binding Path=DetailsViewModelCollection}">
<TabControl.ItemTemplate>
<DataTemplate>
<HeaderedContentControl>
<TextBlock Text="{Binding Path=TabNameICanAccessTheItemsFromCollectionHere.}"/>
</HeaderedContentControl>
</DataTemplate>
</TabControl.ItemTemplate>
<TabControl.ContentTemplate>
<DataTemplate>
<LocalViews:InventoryDetailsView DataContext="HowCanIAccessItemsFromCollection"/>
</DataTemplate>
</TabControl.ContentTemplate>
</TabControl>
問題:
無法從訪問項目ObservableCollection至ContentTemplate。 但能夠訪問ItemTemplate中的項目。
更多詳細信息:
- 我一旦用戶點擊我加入項目DetailsViewModelCollection通過調用參數的構造函數有SummaryView一個按鈕。
- 集合已成功創建,我可以訪問ItemTemplate部分中的每個項目及其屬性。 例如我可以看到多個選項卡正在創建,不同的TabName名稱來自集合。
- 但是從ContentTemplate部分觸發DetailsViewModel的默認構造函數用於整個集合一次,並且該實例已綁定到所有選項卡。
我使用了這裏的示例和源代碼。 http://tap-source.com/mvvm-tabcontrol/ 我可能會做一些愚蠢的綁定錯誤,但無法弄清楚。
謝謝。
我想你可以使用'Binding'與RelativeResource來定位'TabControl'並將路徑設置爲'DataContext.DetailsViewModelCollection' – 2014-09-22 20:59:22
沒有國王,我試過它沒有幫助。 – Sai 2014-09-25 15:35:36