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

时间:2009-07-18 02:08:27

标签: wpf datacontext

我有一个usercontrol,它充当ContentControl的容器 用户控件容器有一个listview控件,我想用它来更新分配给ContentControl的动态添加的用户控件中的控件。
IOW,当我滚动listview控件时,分配给ContentControl的UC中的文本框应该更新。

当所有内容都在一个页面上没问题时,我已经完成了这个,但是很难将ListView作为datacontext传递给动态添加的UC。

如何做到这一点?

在XAML中

 <ListView x:name="lstIncidents">

 </Listview>

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

在Codebehind ......

PlaceHolder.Content = new LocationView();

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

1 个答案:

答案 0 :(得分:13)

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

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