在这里和教程中进行了多次搜索后,我空手而归,非常感谢帮助:
我有一个UserControl,其中包含其他类型的UserControls列表。
我想在常规WPF窗口中显示此UserControl:
这是包含UserControls列表的UserControl:
<UserControl x:Class="UsersInfo.InfoLinesContainer"...
...
<Grid>
<ListView ItemsSource="{Binding Path=InfoLineUC_ObservableList,RelativeSource={RelativeSource Mode=FindAncestor, AncestorType={x:Type UserControl}}}">
</ListView>
</Grid>
在我的主窗口中,我做了:
<Window x:Class="UsersInfo.MainAppWindow"
...
xmlns:usrCtr ="clr-namespace:UsersInfo"
...
<usrCtr:InfoLinesContainer Grid.Row="11"
DataContext="{Binding Path=TheInfoLines, RelativeSource={RelativeSource Mode=FindAncestor, AncestorType={x:Type UserControl}}}"
ScrollViewer.CanContentScroll="True" Margin="2" Grid.ColumnSpan="7" Grid.RowSpan="6" />
...
TheInfoLines是UserControl的实例,其中包含其他UserControls的列表
当我运行该程序时,窗口出现时没有UserControl(我得到的只是一个空方块)
我怎样才能让它发挥作用?
答案 0 :(得分:0)
在主窗口中:
<usrCtr:InfoLinesContainer DataContext="{Binding Path=TheInfoLines, RelativeSource={RelativeSource Mode=FindAncestor, AncestorType={x:Type UserControl}}}" />
你想绑定什么?您的窗口中似乎没有UserControl类型的祖先。