C# 新闻应用程序如何更改gridviewitems的宽度
我正在尝试创建一个类似于w10默认新闻应用程序中主页的视图。但我不明白这些gridviewitems是如何尽可能地伸展到最大的。在我的gridview中,它们似乎都有一个静态宽度,即使我尝试过C# 新闻应用程序如何更改gridviewitems的宽度,c#,gridview,win-universal-app,uwp,C#,Gridview,Win Universal App,Uwp,我正在尝试创建一个类似于w10默认新闻应用程序中主页的视图。但我不明白这些gridviewitems是如何尽可能地伸展到最大的。在我的gridview中,它们似乎都有一个静态宽度,即使我尝试过 <Style TargetType="GridViewItem"> <Setter Property="VerticalContentAlignment" Value="Stretch" />
<Style TargetType="GridViewItem">
<Setter Property="VerticalContentAlignment" Value="Stretch" />
<Setter Property="HorizontalContentAlignment" Value="Stretch" />
</Style>
晚会有点晚了,但我最终还是为这个问题制定了自己的解决方案。我制作了一个自定义面板,它使用可用的整个宽度,并缩放项目以使用整个宽度。您只需指定每列的最小宽度,面板就会在每行上放置尽可能多的项目。你可以找到它作为一个例子 您可以这样使用它:
// Define the namespace
xmlns:p="using:KodeFisk.Panels"
// And use it in a control (for example an ItemsControl)
<ItemsControl>
<ItemsControl.ItemsPanel>
<ItemsPanelTemplate>
<p:UniformMinWidthWrapPanel MinColumnWidth="200"/>
</ItemsPanelTemplate>
<ItemsControl.ItemsPanel>
<ItemsControl>
//定义名称空间
xmlns:p=“使用:KodeFisk.Panels”
//并在控件中使用它(例如ItemsControl)
您是否设置了VSM(视觉状态)来设置这些属性?没有指定任何视觉状态是的您需要设置这些状态来触发这些设置器,只需查看此示例,但这只是为了缩放手机/电脑/平板电脑等分辨率,对吗?我想要的是,无论发生什么,都要填满所有可用的空间。现在它只创建了几列,但在右边有一点空白Viewbox
可能是最简单的解决方案。看看这个