void AssociatedObjectLoaded(object sender, RoutedEventArgs e)
        {
            AssociatedObject.Loaded -= AssociatedObjectLoaded;

            _treeviewScrollViewer = DependencyObjectExtensions.GetChildByType(AssociatedObject, typeof(ScrollViewer)) as ScrollViewer;

            //Juries - Removed, instead implement a collection changed handler, to only scroll to end when new items are added.
            if (_treeviewScrollViewer != null)
            {
                _treeviewScrollViewer.IsDeferredScrollingEnabled = true;
                _treeviewScrollViewer.PreviewMouseDown          += (o, args) => _hasUserScrolled = true;
                _treeviewScrollViewer.ScrollChanged += TreeviewScrollViewerScrollChanged;
            }
        }