能否为GridView实现UniformGridLayout布局?需支持项选择功能
用GridView实现和ItemsRepeater+UniformGridLayout完全一致的布局
完全可以做到,GridView原生支持项选择功能,同时通过配置它的ItemsPanel为ItemsWrapGrid,就能复刻你之前用UniformGridLayout实现的均匀分布效果。
直接上对应的XAML代码:
<GridView ItemsSource="{x:Bind ItemsSource}" IsTabStop="False" XYFocusKeyboardNavigation="Enabled"> <GridView.ItemsPanel> <ItemsPanelTemplate> <ItemsWrapGrid Orientation="Horizontal" Stretch="Uniform" MinRowSpacing="12" MinColumnSpacing="10" ItemHeight="90" ItemWidth="160" /> </ItemsPanelTemplate> </GridView.ItemsPanel> </GridView>
关键参数对应说明:
Stretch="Uniform"对应原UniformGridLayout的ItemsStretch="Uniform",保证项在可用空间内均匀拉伸适配MinRowSpacing、MinColumnSpacing和原布局的同名参数完全一致,控制项之间的最小间距ItemHeight、ItemWidth对应原布局的MinItemHeight、MinItemWidth,设置项的最小尺寸
另外,GridView本身自带项选择功能,你可以直接通过SelectionMode、SelectedItem等属性配置选择逻辑,无需额外开发。
内容的提问来源于stack exchange,提问作者Bevara Satyasairam
相关产品推荐
相关产品推荐

