C# 列表框内的统一网格
我正在开发一个需要自己的自定义文件管理器/资源管理器的程序。 这非常典型:我有一个用户控件(名为FileItem),它包括一个图像(缩略图)和一个标签(文件名) 我遇到的问题是布局问题;我需要在网格布局中使用它(因此我使用统一网格来固定它),就像在图标视图中使用Windows资源管理器一样: 我还需要能够选择文件,或多个文件等哪个列表框做得很好。 问题是我不能两者都用 所以我尝试在列表框中插入一个统一的网格。布局很棒,但我无法选择文件(好像列表框不在那里) 一个快速的谷歌搜索建议只使用ListView,但它做得不好,因为它有固定的列和行(在我正在开发的程序中,大小会改变) 那么,我怎样才能准确地实现ListBox和统一网格的功能呢 编辑(重要):C# 列表框内的统一网格,c#,wpf,C#,Wpf,我正在开发一个需要自己的自定义文件管理器/资源管理器的程序。 这非常典型:我有一个用户控件(名为FileItem),它包括一个图像(缩略图)和一个标签(文件名) 我遇到的问题是布局问题;我需要在网格布局中使用它(因此我使用统一网格来固定它),就像在图标视图中使用Windows资源管理器一样: 我还需要能够选择文件,或多个文件等哪个列表框做得很好。 问题是我不能两者都用 所以我尝试在列表框中插入一个统一的网格。布局很棒,但我无法选择文件(好像列表框不在那里) 一个快速的谷歌搜索建议只使用List
如果你也需要这个外观并想要一个答案,我建议你使用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>
您不应该对此有选择问题,项目将按您的需要显示