在WPF中,是否可以指定项目';UniformGrid面板中的s单元格位置?

在WPF中,是否可以指定项目';UniformGrid面板中的s单元格位置?,wpf,uniformgrid,Wpf,Uniformgrid,我设计了以下WPF窗口: <Window x:Class="Boris.Gui.Wpf.DragDropWindow" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" Width="286" Height="350" ResizeMode="CanMi

我设计了以下WPF窗口:

<Window x:Class="Boris.Gui.Wpf.DragDropWindow"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        Width="286" Height="350" ResizeMode="CanMinimize" Title="Drag and Drop">

    <Window.Resources>

        <!-- Sorted matches list panel -->
        <ItemsPanelTemplate x:Key="SortedMatchesListPanel">
            <UniformGrid Rows="3" Columns="4" />
        </ItemsPanelTemplate>

    </Window.Resources>

    <Grid>

        <ListBox 
            Name="SortedMatchesListBox" 
            Height="180" 
            Margin="12,85,12,0" 
            HorizontalAlignment="Stretch" 
            VerticalAlignment="Top" 
            ItemsPanel="{StaticResource ResourceKey=SortedMatchesListPanel}" />

    </Grid>

</Window>

运行时,
SortedMatchesListBox
列表中填充了这些项目,如下所示:

我的问题是:是否可以在
UniformGrid
items面板中指定列表项的单元格位置?例如,是否可以将突出显示的<代码>团队2与团队5 < /代码>项放在<代码>团队1与团队5 < /代码>之间,即将其移到右边的下一个单元,并保存当前驻留的空白空间?应该是这样的:


现在,我正在使用一种技巧,将一个空白项添加到
SortedMatchesListBox.ItemsSource
以实现这一点,但我真正希望的是能够在items面板中指定该项的单元格位置。谢谢你的帮助。

是的,我想这就是使用UniformGrid的方法。它只接收子元素并将其插入下一个可用位置“nxn矩阵”


如果您想要精确的单元格位置,请使用具有统一行和列宽度的网格,这允许您精确指定子元素放置的单元格。

是的,我想这就是使用UniformGrid的方法。它只接收子元素并将其插入下一个可用位置“nxn矩阵”


如果需要精确的单元格位置,请使用具有统一行和列宽度的网格,这样可以精确指定子元素放置的单元格。

好,因此为了保持行和列宽度和高度的一致性,我应该在网格面板的行和列定义中为它们设置相同的值。这样,我就能够指定确切的位置,并保持UniformGrid布局的外观。好的,为了保持行和列的宽度和高度的一致性,我应该在网格面板的行和列定义中为它们设置相同的值。这样,我就能够指定确切的位置,并保持UniformGrid布局的外观。甜蜜的