gpt4 book ai didi

c# - 如何在 Windows 8 中创建比屏幕大的 View

转载 作者:可可西里 更新时间:2023-11-01 10:27:09 26 4
gpt4 key购买 nike

我想为 Windows 8 创建一个真正大网格的应用程序。
用户应该能够在水平方向上滚动此网格。

但即使我将屏幕的宽度定义为大于分辨率宽度的数字,网格也会出现在屏幕的中间。

截图如下:

enter image description here

我在 Aqua 中对主网格的边界进行了着色,这样我可以看得更清楚

我还将动态网格的背景涂成蓝色。

这是 XAML:

<Page.Resources>

<!-- Auflistung von Elementen, die von dieser Seite angezeigt werden -->
<CollectionViewSource
x:Name="itemsViewSource"
Source="{Binding Items}"/>

<!-- TODO: Diese Zeile löschen, wenn der Schlüssel "AppName" in "App.xaml" deklariert ist -->
<x:String x:Key="AppName">My Application</x:String>
</Page.Resources>

<!--
Dieses Raster fungiert als Stammbereich für die Seite, die zwei Zeilen definiert:
* Zeile 0 enthält die Schaltfläche "Zurück" und den Seitentitel.
* Zeile 1 enthält den Rest des Seitenlayouts.
-->
<Grid Style="{StaticResource LayoutRootStyle}">
<Grid.RowDefinitions>
<RowDefinition Height="140"/>
<RowDefinition Height="*"/>
</Grid.RowDefinitions>

<!-- Schaltfläche "Zurück" und Seitentitel -->
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto"/>
<ColumnDefinition Width="*"/>
</Grid.ColumnDefinitions>
<Button x:Name="backButton" Click="GoBack" IsEnabled="{Binding Frame.CanGoBack, ElementName=pageRoot}" Style="{StaticResource BackButtonStyle}"/>
<TextBlock x:Name="pageTitle" Grid.Column="1" Text="{StaticResource AppName}" Style="{StaticResource PageHeaderTextStyle}"/>
<Button Content="Button" Grid.Column="1" HorizontalAlignment="Left" Margin="705,92,0,0" VerticalAlignment="Top" Click="Button_Click_1"/>
</Grid>

<!-- Raster mit horizontalem Bildlauf (wird in den meisten Ansichtsstatus verwendet) -->
<GridView
x:Name="itemGridView"
TabIndex="1"
Grid.Row="1"
Grid.Column="0"
Margin="0,-4,0,0"
Padding="116,0,116,46" Grid.ColumnSpan="1" SelectionMode="None" BorderThickness="3" BorderBrush="Aqua"/>

这就是 C#:

this.InitializeComponent();

this.itemGridView.FlowDirection = Windows.UI.Xaml.FlowDirection.LeftToRight;
this.itemGridView.ItemContainerStyle = null;

pageTitle.Text = startFolder.name;
Windows.UI.Xaml.Thickness th = new Thickness(0, 0, 0, 0);
this.Margin = th;

this.itemGridView.Margin = th;
this.itemGridView.Width = 2000;

最佳答案

Bart,我在为我的应用程序开发着陆网格页面时遇到了同样的问题。不要使用 Grid.Column 是 XAML,因为您尚未在主网格中定义任何 ColumnDefinitions。不要与具有列定义的网格混淆,因为它仅用于页面标题和后退按钮。

您的 GridView XAML 应如下所示。

<!-- Horizontal scrolling grid used in most view states -->
<GridView
x:Name="itemGridView"
AutomationProperties.AutomationId="ItemsGridView"
AutomationProperties.Name="Items"
TabIndex="1"
Grid.RowSpan="2"
Padding="116,136,116,46"
ItemsSource="{Binding Source={StaticResource itemsViewSource}}"
ItemTemplate="{StaticResource DefaultGridItemTemplate}"
SelectionMode="None"
IsSwipeEnabled="false"
IsItemClickEnabled="True"
ItemClick="ItemView_ItemClick"/>

在 C# 代码中,只需包含以下行并删除所有内容

this.InitializeComponent();      

关于c# - 如何在 Windows 8 中创建比屏幕大的 View ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12671610/

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