C# WPF-MVVM-将属性绑定/显示到多列

C# WPF-MVVM-将属性绑定/显示到多列,c#,wpf,mvvm,data-binding,mvvm-light,C#,Wpf,Mvvm,Data Binding,Mvvm Light,更新: 我有一个明显的收集类型。对象具有属性Id、名称和描述 在WPF中,我有一个UserControl,我想将ObservableCollection数据绑定到它并只显示名称。这很容易,对吧?我同意。但是,我想在三列中显示名称 下面我展示了在Excel中绘制的典型行为与期望行为之间的基本差异。它显示了一个由五项组成的列表,它们以假定的顺序出现在ObservableCollection中 在过去,我的解决方案是将可观测集合拆分为三个独立的可观测集合。然后,我将每个单独的数据绑定到它们自己的Ite

更新:

我有一个明显的收集类型。对象具有属性Id、名称和描述

在WPF中,我有一个UserControl,我想将ObservableCollection数据绑定到它并只显示名称。这很容易,对吧?我同意。但是,我想在三列中显示名称

下面我展示了在Excel中绘制的典型行为与期望行为之间的基本差异。它显示了一个由五项组成的列表,它们以假定的顺序出现在ObservableCollection中

在过去,我的解决方案是将可观测集合拆分为三个独立的可观测集合。然后,我将每个单独的数据绑定到它们自己的ItemsControl中,但我非常确定该过程会影响性能以及其他方面


那么S.O.,我该如何正确地做到这一点?感谢您的帮助

@Ron Beyer在上述问题的评论部分提供了一个相关的问题链接。虽然这个问题本身有不同的目的,但它的答案有助于回答我自己的问题

基本上,答案是在ItemsPanelTemplate中使用。我以前使用过

或者。。。如果我们也绑定列数…:

<ItemsControl ItemsSource="{Binding ItemList}">
    <ItemsControl.ItemsPanel>
        <ItemsPanelTemplate>
             <UniformGrid Columns="{Binding ColumnAmount}" />
        </ItemsPanelTemplate>
    </ItemsControl.ItemsPanel>
</ItemsControl>

再次感谢他的回答者

可能相关:谢谢!几周前,我偶然发现了一个类似的页面,但当时我正在寻找一个不同的问题。我可以提供一个解决方案的基础上,解决方案从相关的链接很快,除非有人击败我!没有必要再给出另一个答案。
<ItemsControl ItemsSource="{Binding ItemList}">
    <ItemsControl.ItemsPanel>
        <ItemsPanelTemplate>
             <UniformGrid Columns="{Binding ColumnAmount}" />
        </ItemsPanelTemplate>
    </ItemsControl.ItemsPanel>
</ItemsControl>