Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/asp.net-mvc-3/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 新闻应用程序如何更改gridviewitems的宽度_C#_Gridview_Win Universal App_Uwp - Fatal编程技术网

C# 新闻应用程序如何更改gridviewitems的宽度

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" />

我正在尝试创建一个类似于w10默认新闻应用程序中主页的视图。但我不明白这些gridviewitems是如何尽可能地伸展到最大的。在我的gridview中,它们似乎都有一个静态宽度,即使我尝试过

                    <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
可能是最简单的解决方案。看看这个