选择正确的ItemsSource容器

Nat*_*ate 1 c# wpf xaml itemssource

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

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

我想过只使用StackPanel来放入这些UserControl,但它没有ItemesSource属性.是否有一种简单的方法可以实现这一目标?

Tom*_*eld 6

更换你ListViewItemsControl,并设置ItemTemplate到合适DataTemplate你的对象.您可以设置ItemsPanel是否要更改面板布置项目的方式.

<ItemsControl ItemsSource="{Binding Items}"
              ItemTemplate="{StaticResource ItemTemplate}">
  <ItemsControl.ItemsPanel>
    <ItemsPanelTemplate>
      <StackPanel Orientation="Horizontal" />
    </ItemsPanelTemplate>
  </ItemsControl.ItemsPanel>
</ItemsControl>
Run Code Online (Sandbox Code Playgroud)

看这个例子