WPF自动从上下文中列出项目

时间:2019-03-20 14:08:20

标签: c# wpf user-controls itemtemplate

假设我有一个课程 A 。我已经创建了一个使用 A 作为DataContext的UserControle X 。现在有 B 类。类 B 仅包含一个用 A 实例填充的列表。 B 的实例是我当前视图的DataContext。

在用户控件X的当前DataContext列表中显示A的所有实例的最佳方法是什么?

我需要一个价值转换器吗?还是有更简单的方法。

我试图保持抽象。如果我需要指定某些内容,请告诉我。

1 个答案:

答案 0 :(得分:1)

您可以将ItemsControlItemTemplate一起使用。将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