=============================================== ===================================
<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 中的项目。
更多详情:
我使用了这里的示例和源代码。 http://tap-source.com/mvvm-tabcontrol/ 我可能会做一些愚蠢的约束错误,但无法弄明白。
谢谢。
答案 0 :(得分:0)
我想出了这个问题。
作为常规进程在DetailsView中,我将DataContext指定为DetailsViewModel。 这就是为什么添加新选项卡时,会创建一个新的可为空的实例并绑定到它。当我删除DataContext时,问题得到了解决。
我还在MSDN中为其他人发布了一个简单的例子,如果他们遇到类似的错误。