我有一个带有ListView的UserControl ItemTemplate
属性中有一个ComboBox我需要为这个ComboBox使用两个datacontext
答案 0 :(得分:2)
您可以在绑定中使用RelativeSource
遍历可视树以查找DataContext for UserControl
。
而对于ListViewItem
,您自Combobox will inherit the DataContext of its parent which is ListViewItem
本身就不需要RelativeSource。你的结构看起来有点像这样 -
<UserControl>
<ListView>
<ListView.ItemTemplate>
<DataTemplate>
<ComboBox ItemsSource="{Binding DataContext.CollectionSource,
RelativeSource={RelativeSource FindAncestor,
AncestorType=UserControl}}"
SelectedItem="{Binding YourItemHere}"/>
</DataTemplate>
</ListView.ItemTemplate>
</ListView>
</UserControl>