【发布时间】:2015-07-01 16:09:11
【问题描述】:
我有一个用户控件,用作页面中的 DataTemplate。 WP8 - access datacontext of parent 中有类似问题的响应,但 DataTemplate 是在“内部”ItemsControl 中定义的。它在这样的场景中不起作用:
<Grid Name="layoutRootGrid">
<ListView Name="listViewParent" HorizontalAlignment="Left" Height="458" Margin="42,24,0,0" VerticalAlignment="Top" Width="298"
ItemsSource="{Binding ListViewSource}">
<ListView.ItemTemplate>
<DataTemplate>
<controls:ListViewControl />
</DataTemplate>
</ListView.ItemTemplate>
</ListView>
</Grid>
虽然“ListViewControl”是(ListViewSource 和 ParentProp 是绑定 ViewModel 的集合和属性 - listViewParent 的 DataContext):
<Grid Background="Black" Name="templateGrid">
<TextBlock Text="{Binding DataContext.ParentProp, ElementName=listViewParent, FallbackValue='couldnt get parent prop'}" VerticalAlignment="Top"/>
</Grid>
【问题讨论】:
-
你没有在任何地方使用 x:key=ListViewDataTemplate 所以你可以简单地删除它。一个小的工作示例可以显示您的问题会很好。
-
我删除了不必要的代码,这里是示例应用程序的链接(WP8.1 通用应用程序,VS2013)s000.tinyupload.com/…
标签: xaml datatemplate win-universal-app