이미지가있는 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)를 참조하십시오. –