在WPF中将DataContext传递给用户控件

5
我有一个用户控件,作为ContentControl的容器。
用户控件容器有一个ListView控件,我想使用它来更新动态添加到ContentControl的用户控件中的控件。
换句话说,当我滚动ListView控件时,分配给ContentControl的UC中的文本框应该更新。

如果一切都在同一页上,我已经做到了,没有问题,但是我很难将ListView作为DataContext传递到动态添加的UC。

如何完成这个过程?

XAML中:

 <ListView x:name="lstIncidents">

 </Listview>

 <ContentControl x:Name="PlaceHolder"></ContentControl>

在代码后端中...
PlaceHolder.Content = new LocationView();

将“LocationView”添加到PlaceHolder.Content时,需要将“lstIncidents”作为DataContext传递,以便在导航ListView时刷新“LocationView”中的文本框。

2
我已经读了你的问题三遍,你表达的方式真的很令人困惑。你能否更清楚地说明你想要做什么? - exclsr
1个回答

13

控件会从其父级继承DataContext,因此请尝试在ContentControl上设置DataContext:

<ContentControl 
    x:Name="PlaceHolder"
    DataContext="{Binding SelectedItem,ElementName=lstIncidents}" />

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接