use*_*471 2 c# xaml winrt-xaml windows-10 uwp
我尝试在UWP上更改窗口大小(Window.Current.SizeChanged)时更改GridViewItem的width属性。
<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>
Run Code Online (Sandbox Code Playgroud)
我计划在Windows 10上调整窗口大小时更改GridViewItem的宽度,以使最后没有空格。
PS图像供参考。
请帮忙。
我不认为更改GridViewItem的每个宽度都是合适的方法。
您可以注册GridView的SizeChanged事件。在事件处理程序中,您可以进入ItemsWrapGridGridView,然后ItemWidth根据GridView的大小更改ItemsWrapGrid 。
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;
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2939 次 |
| 最近记录: |