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

WPF Automaticly list Items from Context

假设我有一个 class A。我已经创建了一个使用 A 作为 DataContext 的 UserControle X。现在有ClassB。 Class B 只包含一个包含 A 实例的列表。 B 的实例是我当前视图的 DataContext。

为当前 DataContext 列表中的 A 的所有实例显示 Usercontrole X 的最佳方式是什么?

我需要值转换器吗?或者有没有更简单的方法。

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

您可以将 ItemsControlItemTemplate 结合使用。将 ItemsControl 绑定到 public 集合 属性,并将 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>

确保您没有明确设置 UserControlDataContext。它应该从 ItemsControl.

中的当前项目继承其 DataContext