Xaml UWP社区工具包AdaptiveGridView控件,仅包含一项
我正在使用UWP社区工具包制作一个媒体应用程序,以使用AdaptiveGridView控件显示视频库内容 问题:当项目非常少或例如我只有一个项目时,它会在整个可用宽度上展开,这看起来非常糟糕,考虑到它的高度是有限的,并且不会改变,只有宽度在整个屏幕上展开,所以我的项目的缩略图看起来非常糟糕。所以,当我一行有4个或更少的项目(在这个特定的笔记本电脑分辨率中)时,由于宽度扩展,它们看起来不好,但一行有5个以上的项目看起来不错,因为它们的比例非常好 尝试: 我试图在我的项目的数据模板中设置stackpanel的最大宽度属性,以便项目不会扩展超过特定的宽度,效果良好,但现在的问题是项目之间的距离,我的项目(stackpanel)内容仍然有限,但整个gridviewitem会扩展,因此覆盖了大量无用的空间,如下图所示Xaml UWP社区工具包AdaptiveGridView控件,仅包含一项,xaml,gridview,uwp,uwp-xaml,windows-community-toolkit,Xaml,Gridview,Uwp,Uwp Xaml,Windows Community Toolkit,我正在使用UWP社区工具包制作一个媒体应用程序,以使用AdaptiveGridView控件显示视频库内容 问题:当项目非常少或例如我只有一个项目时,它会在整个可用宽度上展开,这看起来非常糟糕,考虑到它的高度是有限的,并且不会改变,只有宽度在整个屏幕上展开,所以我的项目的缩略图看起来非常糟糕。所以,当我一行有4个或更少的项目(在这个特定的笔记本电脑分辨率中)时,由于宽度扩展,它们看起来不好,但一行有5个以上的项目看起来不错,因为它们的比例非常好 尝试: 我试图在我的项目的数据模板中设置stackp
<controls:AdaptiveGridView Name="SuggestionGridView"
Style="{StaticResource MainGridView}"
SelectionChanged="SelectionChanged"
ItemsSource="{x:Bind Suggestions, Mode=OneWay}">
<controls:AdaptiveGridView.ItemTemplate>
<DataTemplate x:DataType="data:Video">
<StackPanel Margin="4" MaxWidth="276">
<Grid>
<Image Source="{x:Bind Thumbnail}" Style="{StaticResource GridViewImage}"/>
<Border Style="{StaticResource TimeBorder}">
<TextBlock Text="{x:Bind Duration}" Foreground="White"/>
</Border>
</Grid>
<TextBlock Text="{x:Bind Name}" Style="{StaticResource GridViewVideoName}"/>
<TextBlock Text="{x:Bind ParentName}" Style="{StaticResource GridViewParentName}"/>
<StackPanel Orientation="Horizontal" HorizontalAlignment="Stretch">
<TextBlock Text="{x:Bind Views}" Style="{StaticResource GridViewViews}"/>
<TextBlock Text="Views" HorizontalAlignment="Right"/>
</StackPanel>
</StackPanel>
</DataTemplate>
</controls:AdaptiveGridView.ItemTemplate>
</controls:AdaptiveGridView>
风格
<Style TargetType="controls:AdaptiveGridView" x:Key="MainGridView">
<Setter Property="Grid.Row" Value="1"/>
<Setter Property="OneRowModeEnabled" Value="False"/>
<Setter Property="DesiredWidth" Value="264"/>
<Setter Property="SelectionMode" Value="Single"/>
</Style>
<Style TargetType="Image" x:Key="GridViewImage">
<Setter Property="Height" Value="156"/> <!--if I remove this property then one item expands to full availble height and width and looks really bad specially with the thumbnail.-->
<Setter Property="Stretch" Value="UniformToFill"/>
<Setter Property="HorizontalAlignment" Value="Center"/>
<Setter Property="VerticalAlignment" Value="Center"/>
</Style>
在这种情况下,已经有一个属性可以帮助您。尝试将控件上的
StretchContentForSingleRow
设置为False