Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/325.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 列表框内的统一网格_C#_Wpf - Fatal编程技术网

C# 列表框内的统一网格

C# 列表框内的统一网格,c#,wpf,C#,Wpf,我正在开发一个需要自己的自定义文件管理器/资源管理器的程序。 这非常典型:我有一个用户控件(名为FileItem),它包括一个图像(缩略图)和一个标签(文件名) 我遇到的问题是布局问题;我需要在网格布局中使用它(因此我使用统一网格来固定它),就像在图标视图中使用Windows资源管理器一样: 我还需要能够选择文件,或多个文件等哪个列表框做得很好。 问题是我不能两者都用 所以我尝试在列表框中插入一个统一的网格。布局很棒,但我无法选择文件(好像列表框不在那里) 一个快速的谷歌搜索建议只使用List

我正在开发一个需要自己的自定义文件管理器/资源管理器的程序。 这非常典型:我有一个用户控件(名为FileItem),它包括一个图像(缩略图)和一个标签(文件名)

我遇到的问题是布局问题;我需要在网格布局中使用它(因此我使用统一网格来固定它),就像在图标视图中使用Windows资源管理器一样:

我还需要能够选择文件,或多个文件等哪个列表框做得很好。 问题是我不能两者都用

所以我尝试在列表框中插入一个统一的网格。布局很棒,但我无法选择文件(好像列表框不在那里)

一个快速的谷歌搜索建议只使用ListView,但它做得不好,因为它有固定的列和行(在我正在开发的程序中,大小会改变)

那么,我怎样才能准确地实现ListBox和统一网格的功能呢

编辑(重要):
如果你也需要这个外观并想要一个答案,我建议你使用WrapPanel而不是统一网格。它将自动允许您根据内容动态更改行数。

要将列表框的
ItemsPanel
设置为UniformGrid,您可以执行以下操作:

<ListBox>
    <ListBox.ItemsPanel>
        <ItemsPanelTemplate>
            <UniformGrid IsItemsHost="True" />
        </ItemsPanelTemplate>
    </ListBox.ItemsPanel>
    <ListBoxItem Content="Grid Item 1" />
    <ListBoxItem Content="Grid Item 2" />
    <ListBoxItem Content="Grid Item 3" />
    <ListBoxItem Content="Grid Item 4" />
    <ListBoxItem Content="Grid Item 5" />
    <ListBoxItem Content="Grid Item 6" />
    <ListBoxItem Content="Grid Item 7" />
    <ListBoxItem Content="Grid Item 8" />
    <ListBoxItem Content="Grid Item 9" />
    <ListBoxItem Content="Grid Item 10" />
</ListBox>

您不应该对此有选择问题,项目将按您的需要显示