1

Ich habe versucht, dies unter Code:ScrollIntoView Eigenschaft funktioniert nicht für Gridview in Windows 10 Universal-App

XAML-Code:

<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> 

Code Cs:

for (int i = 1; i < 50; i++) 
{ 
    list.Add("ms-appx:///Images/A-aa.jpg"); 
} 
listgrid.ItemsSource = list; 
listgrid.ScrollIntoView(listgrid.Items[30]); 

ich oben Code, um die Ansicht zu meinem ausgewählten Element zu scrollen, aber es werden keine Änderungen angezeigt, ich denke, ich habe diese Eigenschaft in verwendet ein falscher Weg bitte helfen Sie mir, zur Gridview Position zu scrollen.

+0

jeder einmal mir bitte helfen, die Lösung zu finden ... –

Antwort

1

ich Ihre gleiche Frage in MSDN geantwortet haben: 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

Sie brauchen mehr, etwas zu haben, um Elemente zu unterscheiden, zum Beispiel Geben Sie jedem Bild einen Namen, da die Elemente, die Sie an GridView binden, gleich sind. ScrollIntoView sucht standardmäßig nach dem ersten Bild.

Und in der Regel müssen Sie eine Höhe Eigenschaft für die GridView festlegen.

Für komplexere Anforderungen, gibt es einen guten Thread Sie verweisen können: Windows 10 ScrollIntoView() is not scrolling to the items in the middle of a listview

+0

wenn ich meinen Code ändere, während Sie vorschlagen, dass das Listgrid_Loaded Event nicht ausgelöst wird .. –

0

Versuchen auf Loaded Ereignis abonnieren und ScrollIntoView innerhalb Ereignishandler aufrufen:

listgrid.Loaded += Listgrid_Loaded; 

.... 
private void Listgrid_Loaded(object sender, RoutedEventArgs e) 
{ 
    listgrid.ScrollIntoView(listgrid.Items[30]); 
} 
+0

Hallo Andrii Krupka Code keinen Unterschied zeigt .. –

+0

ja, aber mein Code ruft auf, wenn die Steuerung geladen ist. es ist der Unterschied im internen Kontrollstatus. –

+0

Entschuldigung ... ich habe nicht verstanden was du sagst. –