C# 具有项目水平环绕排列的ListView

C# 具有项目水平环绕排列的ListView,c#,wpf,listview,C#,Wpf,Listview,我希望以类似于Windows应用商店应用程序中GridView的方式在WPF listview中布局项目。项目是水平分组的,每个分组面板水平扭曲地布置项目,如下所示: Group 1 Group2 Group3 Item1, Item2, Item3 Item1, Item2, Item3 Item1, Item2, Item3 Item4 Item4

我希望以类似于Windows应用商店应用程序中GridView的方式在WPF listview中布局项目。项目是水平分组的,每个分组面板水平扭曲地布置项目,如下所示:

Group 1                 Group2                  Group3
Item1, Item2, Item3     Item1, Item2, Item3     Item1, Item2, Item3
Item4                   Item4                   Item4
<Grid>
    <Grid.ColumnDefinitions>
        <ColumnDefinition Width="*"/>
        <ColumnDefinition Width="*"/>
        <ColumnDefinition Width="*"/>
    </Grid.ColumnDefinitions>
    <StackPanel Orientation="Vertical" Grid.Column="0">
        <TextBlock Text="Group 1"/>
        <WrapPanel>
            <TextBlock Text="Item 1, "/>
            <TextBlock Text="Item 2, "/>
            <TextBlock Text="Item 3, "/>
            <TextBlock Text="Item 4"/>
        </WrapPanel>
    </StackPanel>
    <StackPanel Orientation="Vertical" Grid.Column="1">
        <TextBlock Text="Group 2"/>
        <WrapPanel>
            <TextBlock Text="Item 1, "/>
            <TextBlock Text="Item 2, "/>
            <TextBlock Text="Item 3, "/>
            <TextBlock Text="Item 4"/>
        </WrapPanel>
    </StackPanel>
    <StackPanel Orientation="Vertical" Grid.Column="2" Width="auto">
        <TextBlock Text="Group 3"/>
        <WrapPanel>
            <TextBlock Text="Item 1, "/>
            <TextBlock Text="Item 2, "/>
            <TextBlock Text="Item 3, "/>
            <TextBlock Text="Item 4"/>
        </WrapPanel>
    </StackPanel>
</Grid>
我尝试过使用StackPanel和WrapPanel,但从未得到我上面提到的结果

谢谢你的帮助


非常感谢。

您可以尝试以下内容:

Group 1                 Group2                  Group3
Item1, Item2, Item3     Item1, Item2, Item3     Item1, Item2, Item3
Item4                   Item4                   Item4
<Grid>
    <Grid.ColumnDefinitions>
        <ColumnDefinition Width="*"/>
        <ColumnDefinition Width="*"/>
        <ColumnDefinition Width="*"/>
    </Grid.ColumnDefinitions>
    <StackPanel Orientation="Vertical" Grid.Column="0">
        <TextBlock Text="Group 1"/>
        <WrapPanel>
            <TextBlock Text="Item 1, "/>
            <TextBlock Text="Item 2, "/>
            <TextBlock Text="Item 3, "/>
            <TextBlock Text="Item 4"/>
        </WrapPanel>
    </StackPanel>
    <StackPanel Orientation="Vertical" Grid.Column="1">
        <TextBlock Text="Group 2"/>
        <WrapPanel>
            <TextBlock Text="Item 1, "/>
            <TextBlock Text="Item 2, "/>
            <TextBlock Text="Item 3, "/>
            <TextBlock Text="Item 4"/>
        </WrapPanel>
    </StackPanel>
    <StackPanel Orientation="Vertical" Grid.Column="2" Width="auto">
        <TextBlock Text="Group 3"/>
        <WrapPanel>
            <TextBlock Text="Item 1, "/>
            <TextBlock Text="Item 2, "/>
            <TextBlock Text="Item 3, "/>
            <TextBlock Text="Item 4"/>
        </WrapPanel>
    </StackPanel>
</Grid>

您可能会使用itemscontrol(请参阅),而不是将项目作为文本块(使用硬编码逗号)放置

以下是一个示例屏幕截图:


是的,我已经完成了,请点击下面的链接: