1

我有一个我编写的 UserControl 来显示自定义对象的一些属性。这些对象有多个实例,因此我有它们的 ObservableCollection,因此我可以将它们设置为绑定到 ListView 的 ItemsSource。现在,我可以在我的 ListView 中为我的类的每个实例显示这个 UserControl 的实例。

问题是我真的不想要 ListView 的行为。我不希望用户能够选择整个 UserControl。事实上,用户应该能够选择 UserControl 中的各个元素。

我想过只使用 StackPanel 将这些 UserControls 放入,但它没有 ItemesSource 属性。有没有一种简单的方法可以做到这一点?

4

1 回答 1

6

将 your 替换ListView为 anItemsControl并将 the 设置ItemTemplate为适合DataTemplate您的对象。您可以设置ItemsPanel是否要更改面板对项目的布局方式。

<ItemsControl ItemsSource="{Binding Items}"
              ItemTemplate="{StaticResource ItemTemplate}">
  <ItemsControl.ItemsPanel>
    <ItemsPanelTemplate>
      <StackPanel Orientation="Horizontal" />
    </ItemsPanelTemplate>
  </ItemsControl.ItemsPanel>
</ItemsControl>

看这个例子

于 2011-02-17T17:08:15.113 回答