ScrollIntoView 属性 不适用于 windows 10 通用应用程序中的 gridview
ScrollIntoView property not working for gridview in windows 10 universal app
我试过下面的代码:
XAML代码:
<GridView x:Name="listgrid">
<GridView.ItemTemplate>
<DataTemplate>
<StackPanel Margin="15,15,0,0">
<Image Height="170" Width="170" Source="{Binding}"></Image>
</StackPanel>
</DataTemplate>
</GridView.ItemTemplate>
Cs代码:
for (int i = 1; i < 50; i++)
{
list.Add("ms-appx:///Images/A-aa.jpg");
}
listgrid.ItemsSource = list;
listgrid.ScrollIntoView(listgrid.Items[30]);
我在上面的代码中将视图滚动到我选择的项目,但它没有显示任何变化,我想我以错误的方式使用了这个 属性 请任何人帮助我滚动到 gridview 位置。
尝试订阅 Loaded
事件并在事件处理程序中调用 ScrollIntoView
:
listgrid.Loaded += Listgrid_Loaded;
....
private void Listgrid_Loaded(object sender, RoutedEventArgs e)
{
listgrid.ScrollIntoView(listgrid.Items[30]);
}
我已经在 MSDN 中回复了你同样的问题:https://social.msdn.microsoft.com/Forums/windowsapps/en-US/d0a772b3-80b9-4a11-92a9-89963c29a52f/scrollintoview-property-not-working-for-gridview-in-windows-10-universal-app?forum=wpdevelop
你需要有更多的东西来区分项目,例如,给每个图像一个名字,因为你绑定到 GridView 的项目是相同的,ScrollIntoView 默认找到第一个。
通常您需要为 GridView 设置高度 属性。
对于更复杂的需求,有一个很好的线程可以参考:
试试这个
private void Gridview_Loaded(object sender, RoutedEventArgs e)
{
if (ShellPage.Current.SelectedRecItem != null)
{
this.gridview.SelectedItem = ShellPage.Current.SelectedRecItem;
this.gridview.UpdateLayout();
this.gridview.ScrollIntoView(ShellPage.Current.SelectedRecItem);
}
}
我试过下面的代码:
XAML代码:
<GridView x:Name="listgrid">
<GridView.ItemTemplate>
<DataTemplate>
<StackPanel Margin="15,15,0,0">
<Image Height="170" Width="170" Source="{Binding}"></Image>
</StackPanel>
</DataTemplate>
</GridView.ItemTemplate>
Cs代码:
for (int i = 1; i < 50; i++)
{
list.Add("ms-appx:///Images/A-aa.jpg");
}
listgrid.ItemsSource = list;
listgrid.ScrollIntoView(listgrid.Items[30]);
我在上面的代码中将视图滚动到我选择的项目,但它没有显示任何变化,我想我以错误的方式使用了这个 属性 请任何人帮助我滚动到 gridview 位置。
尝试订阅 Loaded
事件并在事件处理程序中调用 ScrollIntoView
:
listgrid.Loaded += Listgrid_Loaded;
....
private void Listgrid_Loaded(object sender, RoutedEventArgs e)
{
listgrid.ScrollIntoView(listgrid.Items[30]);
}
我已经在 MSDN 中回复了你同样的问题:https://social.msdn.microsoft.com/Forums/windowsapps/en-US/d0a772b3-80b9-4a11-92a9-89963c29a52f/scrollintoview-property-not-working-for-gridview-in-windows-10-universal-app?forum=wpdevelop
你需要有更多的东西来区分项目,例如,给每个图像一个名字,因为你绑定到 GridView 的项目是相同的,ScrollIntoView 默认找到第一个。
通常您需要为 GridView 设置高度 属性。
对于更复杂的需求,有一个很好的线程可以参考:
试试这个
private void Gridview_Loaded(object sender, RoutedEventArgs e)
{
if (ShellPage.Current.SelectedRecItem != null)
{
this.gridview.SelectedItem = ShellPage.Current.SelectedRecItem;
this.gridview.UpdateLayout();
this.gridview.ScrollIntoView(ShellPage.Current.SelectedRecItem);
}
}