private void itemsListView_Loaded(object sender, RoutedEventArgs e) {
            // Find the ScrollViewer inside the ListView
            var scrollViewer = VisualTreeUtilities.GetVisualChild<ScrollViewer>(itemsListView);

            if (scrollViewer != null) {
                scrollViewer.Visibility = Visibility.Visible;
                if (scrollViewer.ComputedVerticalScrollBarVisibility == Visibility.Visible) {
                    scrollViewer.ChangeView(null, _scrollViewerVerticalOffset, null);
                }
                else {
                DependencyPropertyChangedHelper helper = new DependencyPropertyChangedHelper(scrollViewer, "ComputedVerticalScrollBarVisibility");
                    helper.PropertyChanged += ScrollBarVerticalVisibilityChanged;
                }
            }
        }
        private void itemsListView_Loaded(object sender, RoutedEventArgs e)
        {
            // Find the ScrollViewer inside the ListView
            var scrollViewer = VisualTreeUtilities.GetVisualChild <ScrollViewer>(itemsListView);

            if (scrollViewer != null)
            {
                scrollViewer.Visibility = Visibility.Visible;
                if (scrollViewer.ComputedVerticalScrollBarVisibility == Visibility.Visible)
                {
                    scrollViewer.ChangeView(null, _scrollViewerVerticalOffset, null);
                }
                else
                {
                    DependencyPropertyChangedHelper helper = new DependencyPropertyChangedHelper(scrollViewer, "ComputedVerticalScrollBarVisibility");
                    helper.PropertyChanged += ScrollBarVerticalVisibilityChanged;
                }
            }
        }
        void Page_SizeChanged(object sender, SizeChangedEventArgs e)
        {
            var scrollViewer = VisualTreeUtilities.GetVisualChild <ScrollViewer>(itemsGridView);

            if (scrollViewer != null)
            {
                if (scrollViewer.ComputedHorizontalScrollBarVisibility == Visibility.Visible && scrollViewer.ComputedVerticalScrollBarVisibility == Visibility.Visible)
                {
                    ScrollViewerUtilities.ScrollToProportion(scrollViewer, _scrollViewerOffsetProportion);
                }
                else
                {
                    DependencyPropertyChangedHelper horizontalHelper = new DependencyPropertyChangedHelper(scrollViewer, "ComputedHorizontalScrollBarVisibility");
                    horizontalHelper.PropertyChanged += ScrollBarVisibilityChanged;

                    DependencyPropertyChangedHelper verticalHelper = new DependencyPropertyChangedHelper(scrollViewer, "ComputedVerticalScrollBarVisibility");
                    verticalHelper.PropertyChanged += ScrollBarVisibilityChanged;
                }
            }
        }