C# 根据窗口大小(UWP)更改GridView大小
我希望gridview的宽度大小随着窗口大小的改变而改变。我在xaml和c#中尝试了以下方法。虽然这在加载不同窗口大小的页面时起作用,但不会随着窗口大小的变化而动态变化 我已经用自适应触发器尝试过了,但是我无法改变网格宽度的大小C# 根据窗口大小(UWP)更改GridView大小,c#,gridview,width,win-universal-app,C#,Gridview,Width,Win Universal App,我希望gridview的宽度大小随着窗口大小的改变而改变。我在xaml和c#中尝试了以下方法。虽然这在加载不同窗口大小的页面时起作用,但不会随着窗口大小的变化而动态变化 我已经用自适应触发器尝试过了,但是我无法改变网格宽度的大小 <VisualStateManager.VisualStateGroups> <VisualStateGroup x:Name="GridViewWith"> <VisualStat
<VisualStateManager.VisualStateGroups>
<VisualStateGroup x:Name="GridViewWith">
<VisualState x:Name="Big">
<VisualState.StateTriggers>
<AdaptiveTrigger MinWindowWidth="600"/>
</VisualState.StateTriggers>
<VisualState.Setters>
<Setter Target="gridView.Width" Value="500"/>
</VisualState.Setters>
</VisualState>
</VisualStateGroup>
</VisualStateManager.VisualStateGroups>
以及网格本身:
<StackPanel Grid.Column="1" Grid.Row="2" Grid.ColumnSpan="7" Margin="0,40,0,0">
<GridView x:Name="gridView" ScrollViewer.HorizontalScrollMode="Enabled" ScrollViewer.HorizontalScrollBarVisibility="Visible" HorizontalAlignment="Left" IsItemClickEnabled="True" SelectionMode="None" ItemClick="gridView_SelectionChanged" VerticalAlignment="Top" Height="601">
<GridView.ItemTemplate>
<DataTemplate>
<StackPanel>
<TextBlock Foreground="Black" Text="{Binding Name}"/>
<StackPanel Orientation="Horizontal" >
<TextBlock Foreground="Black" xml:space="preserve" Text="Size: " />
<TextBlock Foreground="Black" Text="{Binding Size}" />
</StackPanel>
</StackPanel>
</DataTemplate>
</GridView.ItemTemplate>
</GridView>
</StackPanel>
当屏幕大小改变时,您可以使用自适应触发器自动调整网格大小 它很容易使用
为什么要更改代码隐藏中的大小?为什么不使用XAML语法呢?您想更改
GridView
本身还是项目的大小?我想更改GridView的大小,但后来我发现,取出scroll viewer将使GridView能够调整大小,因此它在某种程度上起作用。