我将驾驶一个触摸屏应用程序(而不是Web应用程序),需要向用户呈现图像组。希望呈现具有页面前进/后退能力的3x3网格图像。他们可以选择一些,然后我只展示这些图像。WPF图片库
我没有看到ListView
确实是我想要的(虽然WPF足够大,我可能错过了明显的东西!)。我可以设置一个Grid
并在网格位置填充图像。但我希望有更好的,更自动的,不太暴力的东西。任何想法或指针?
我将驾驶一个触摸屏应用程序(而不是Web应用程序),需要向用户呈现图像组。希望呈现具有页面前进/后退能力的3x3网格图像。他们可以选择一些,然后我只展示这些图像。WPF图片库
我没有看到ListView
确实是我想要的(虽然WPF足够大,我可能错过了明显的东西!)。我可以设置一个Grid
并在网格位置填充图像。但我希望有更好的,更自动的,不太暴力的东西。任何想法或指针?
您可能需要使用一个ItemsControl
/ListBox
然后设置一个UniformGrid
面板一个3x3显示为ItemsPanel
达到适当的WPF绑定解决方案。
<ListBox ScrollViewer.HorizontalScrollBarVisibility="Disabled">
<ListBox.ItemsPanel>
<ItemsPanelTemplate>
<UniformGrid Rows="3" Columns="3"/>
</ItemsPanelTemplate>
</ListBox.ItemsPanel>
<Image Source="Images\img1.jpg" Width="100"/>
<Image Source="Images\img2.jpg" Width="50"/>
<Image Source="Images\img3.jpg" Width="200"/>
<Image Source="Images\img4.jpg" Width="75"/>
<Image Source="Images\img5.jpg" Width="125"/>
<Image Source="Images\img6.jpg" Width="100"/>
<Image Source="Images\img7.jpg" Width="50"/>
<Image Source="Images\img8.jpg" Width="50"/>
<Image Source="Images\img9.jpg" Width="50"/>
</ListBox>
如果您正在寻找动态解决方案,您需要将图像集合设置为ItemsSource绑定。但是这个问题太宽泛,无法给出确切的答案。
您可以使用简单的ListBox
控件并自定义其ItemsPanel
模板并在其中添加WrapPanel
。 WrapPanel
将项目置于水平平铺布局中,您可以在其中设置其最大宽度以将3个项目合并到一行中,并且它将为3个项目创建更多行,直到最后一个填充。