gpt4 book ai didi

c# - 为 UWP 更改 Window.Current.SizeChanged 上的 GridViewItem.Width

转载 作者:行者123 更新时间:2023-11-30 19:38:33 32 4
gpt4 key购买 nike

我正在尝试在 UWP 上更改窗口大小 (Window.Current.SizeChanged) 时更改 GridViewItem 的宽度属性。

    <GridView x:Name="gv" Grid.Row="1" Background="Gray">
<GridView.ItemContainerStyle>
<Style TargetType="GridViewItem">
<Setter Property="HorizontalContentAlignment" Value="Stretch"/>
<Setter Property="VerticalContentAlignment" Value="Stretch"/>
<Setter Property="Height" Value="80"/>
<Setter Property="Width" Value="80"/>
</Style>
</GridView.ItemContainerStyle>
<GridView.ItemTemplate>
<DataTemplate>
<Rectangle x:Name="rect" Fill="Red"/>
</DataTemplate>
</GridView.ItemTemplate>
</GridView>

我计划在 Windows 10 上调整窗口大小时更改 GridViewItem 的宽度,以便末尾没有空格。

附言图片供引用。

请帮忙。

On resizing the window, there is a blank space that is left

最佳答案

我不认为更改每个 GridViewItem 的宽度是合适的方法。

您可以注册 GridView 的 SizeChanged 事件。在事件处理程序中,您可以在 GridView 中获取 ItemsWrapGrid,然后根据 GridView 的大小更改 ItemsWrapGrid 的 ItemWidth

private void appView_SizeChanged(object sender, SizeChangedEventArgs e)
{
ItemsWrapGrid appItemsPanel = (ItemsWrapGrid)appView.ItemsPanelRoot;

double optimizedWidth = 140.0;
double margin = 12.0;
var number = (int)e.NewSize.Width / (int)optimizedWidth;
appItemsPanel.ItemWidth = (e.NewSize.Width - margin) / (double)number;
}

关于c# - 为 UWP 更改 Window.Current.SizeChanged 上的 GridViewItem.Width,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32304932/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com