0
画像付きのGridViewがあります。 GridViewは、VisualStates(小> 1列、中→2列、大3列)によるイメージの表示方法を変更します。UWP GridView垂直スクロールが機能していません
垂直スクロールを機能させることができません。
XAMLは:
<GridView x:Name="MyGridView"
Grid.Row="0"
IsItemClickEnabled="True"
ItemClick="MyGridView_ItemClick"
SizeChanged="MyGridView_SizeChanged"
ScrollViewer.VerticalScrollBarVisibility="Visible"
ScrollViewer.VerticalScrollMode="Enabled"
ScrollViewer.HorizontalScrollMode="Disabled">
<GridView.Resources>
<Storyboard x:Name="EnterStoryboard">
<FadeOutThemeAnimation TargetName="MyGridView" />
</Storyboard>
<Storyboard x:Name="ExitStoryboard">
<FadeInThemeAnimation TargetName="MyGridView" />
</Storyboard>
</GridView.Resources>
<GridView.ItemTemplate>
<DataTemplate x:DataType="data:Element">
<RelativePanel x:Name="idPanel">
<Image Source="{x:Bind CoverImage}" />
</RelativePanel>
</DataTemplate>
</GridView.ItemTemplate>
</GridView>
、背景がMyGridView_SizeChanged:
private void MyGridView_SizeChanged(object sender, Windows.UI.Xaml.SizeChangedEventArgs e)
{
var _panel = (ItemsWrapGrid)MyGridView.ItemsPanelRoot;
var _actual = VisualStateGroup.CurrentState;
int _gridColumnNumber;
switch (_actual.Name) {
case "medium":
{
_gridColumnNumber = 2;
break;
}
case "large":
{
_gridColumnNumber = 3;
break;
}
default:
{
_gridColumnNumber = 1;
break;
}
}
_panel.ItemWidth = e.NewSize.Width/_gridColumnNumber;
}
任意の提案ですか?
ありがとうございます! AdaptiveGridViewは良いツールのようです。コードが正しければ、エラーがどこにあるのかは私にとっては興味深いようです。フルプロジェクトはgithubで手に入る:https://github.com/szszptr/HowItSounds – szszptr
@szszptr GitHubでソースコードをチェックした。問題はあなたの 'RowDefinition'にあります。行の高さを[自動]に設定すると、その行は内容に合わせてサイズ変更されます。したがって、この行のGridViewはスクロールできません。この問題を解決するには、上記のサンプルのように 'RowDefinition'を' 'に変更することができます。高さが*に設定されている行は残りの高さの一部になります。 GridViewの高さを制限することができ、高さが足りない場合、GridViewはスクロール可能になります。 –
詳細については、[XAMLによるページレイアウトの定義](https://msdn.microsoft.com/windows/uwp/layout/layouts-with-xaml)を参照してください。 –