Я хочу восстановить положение прокрутки при навигации назад, я нашел a C# code и попытался преобразовать его в Visual Basic и в настоящее время дает мне много ошибок.Как восстановить положение прокрутки GridView при навигации назад Visual Basic
C# код:
void ItemsPage_Loaded(object sender, RoutedEventArgs e)
{
this.gridScrollViewer = FindVisualChild<ScrollViewer>(this.itemGridView);
this.gridScrollViewer.ScrollToHorizontalOffset(App.ScrollOffset);
}
protected override void OnNavigatedFrom(NavigationEventArgs e)
{
App.ScrollOffset = gridScrollViewer.HorizontalOffset;
base.OnNavigatedFrom(e);
}
И мой преобразованный код VB:
Private Sub ItemsPage_Loaded(sender As Object, e As RoutedEventArgs)
Me.gridScrollViewer = FindVisualChild(Of ScrollViewer)(Me.itemGridView)
Me.gridScrollViewer.ScrollToHorizontalOffset(App.ScrollOffset)
End Sub
Protected Overrides Sub OnNavigatedFrom(e As NavigationEventArgs)
App.ScrollOffset = gridScrollViewer.HorizontalOffset
MyBase.OnNavigatedFrom(e)
End Sub
Ошибки:
ли переименовывать переменные к тому, что ваш есть? Вы реализовали 'FindVisualChild (...)'? Я также не вижу «Ручки» в методах событий. – TyCobb
@TyCobb +1. C# и VB.net объявляют события по-разному. См. Эту статью [MSDN] (https://msdn.microsoft.com/en-us/library/edzehd2t (v = vs.110) .aspx) о повышении событий. Я предлагаю вам генерировать события, выбирая событие из раскрывающегося списка в редакторе. – djv
К сожалению, я не могу получить доступ к моему gridview в виде xaml, поскольку он находится внутри шаблона данных. Как я могу реализовать 'FindVisualChild (...)' – julekgwa