WPF 自动列出上下文中的项目
WPF Automaticly list Items from Context
假设我有一个 class A。我已经创建了一个使用 A 作为 DataContext 的 UserControle X。现在有ClassB。 Class B 只包含一个包含 A 实例的列表。 B 的实例是我当前视图的 DataContext。
为当前 DataContext 列表中的 A 的所有实例显示 Usercontrole X 的最佳方式是什么?
我需要值转换器吗?或者有没有更简单的方法。
我尽量保持抽象。如果我需要指定某些内容,请告诉我。
您可以将 ItemsControl
与 ItemTemplate
结合使用。将 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>
确保您没有明确设置 UserControl
的 DataContext
。它应该从 ItemsControl
.
中的当前项目继承其 DataContext
假设我有一个 class A。我已经创建了一个使用 A 作为 DataContext 的 UserControle X。现在有ClassB。 Class B 只包含一个包含 A 实例的列表。 B 的实例是我当前视图的 DataContext。
为当前 DataContext 列表中的 A 的所有实例显示 Usercontrole X 的最佳方式是什么?
我需要值转换器吗?或者有没有更简单的方法。
我尽量保持抽象。如果我需要指定某些内容,请告诉我。
您可以将 ItemsControl
与 ItemTemplate
结合使用。将 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>
确保您没有明确设置 UserControl
的 DataContext
。它应该从 ItemsControl
.
DataContext