假设我有一个课程 A 。我已经创建了一个使用 A 作为DataContext的UserControle X 。现在有 B 类。类 B 仅包含一个用 A 实例填充的列表。 B 的实例是我当前视图的DataContext。
在用户控件X的当前DataContext列表中显示A的所有实例的最佳方法是什么?
我需要一个价值转换器吗?还是有更简单的方法。
我试图保持抽象。如果我需要指定某些内容,请告诉我。
答案 0 :(得分:1)
您可以将ItemsControl
与ItemTemplate
一起使用。将ItemsControl
绑定到公共集合属性,并将UserControl
添加到ItemTemplate
:
<ItemsControl ItemsSource="{Binding TheListProperty}">
<ItemsControl.ItemTemplate>
<DataTemplate>
<!-- The UserControl will inherit the current item in 'TheListProperty' as its DataContext -->
<local:UserControlX />
</DataTemplate>
</ItemsControl.ItemTemplate>
</ItemsControl>
请确保您未明确设置DataContext
中的UserControl
。它应该从DataContext
中的当前项目继承其ItemsControl
。