public static void SetSynchronizedScrollViewerPosition(DependencyObject obj, SynchronizedScrollViewerPosition value) { obj.SetValue(TableViewScrollViewer.SynchronizedScrollViewerPositionProperty, value); }
public static void SetSynchronizedScrollViewerPosition( DependencyObject obj, SynchronizedScrollViewerPosition value ) { obj.SetValue( TableViewScrollViewer.SynchronizedScrollViewerPositionProperty, value ); }
private void UpdateChildScrollViewers() { bool isAtTop = (this.VerticalOffset == 0); bool isAtLeft = (this.HorizontalOffset == 0); bool isAtBottom = ((this.VerticalOffset + this.ViewportHeight) == this.ExtentHeight); bool isAtRight = ((this.HorizontalOffset + this.ViewportWidth) == this.ExtentWidth); foreach (SynchronizedScrollViewer scrollViewer in m_childScrollViewers) { SynchronizedScrollViewerPosition position = TableViewScrollViewer.GetSynchronizedScrollViewerPosition(scrollViewer); bool handled = false; switch (position) { case SynchronizedScrollViewerPosition.Top: if (isAtTop == true) { KeyboardNavigation.SetDirectionalNavigation(scrollViewer, KeyboardNavigationMode.Continue); KeyboardNavigation.SetTabNavigation(scrollViewer, KeyboardNavigationMode.Continue); handled = true; } break; case SynchronizedScrollViewerPosition.Bottom: if (isAtBottom == true) { KeyboardNavigation.SetDirectionalNavigation(scrollViewer, KeyboardNavigationMode.Continue); KeyboardNavigation.SetTabNavigation(scrollViewer, KeyboardNavigationMode.Continue); handled = true; } break; case SynchronizedScrollViewerPosition.Left: if (isAtLeft == true) { KeyboardNavigation.SetDirectionalNavigation(scrollViewer, KeyboardNavigationMode.Continue); KeyboardNavigation.SetTabNavigation(scrollViewer, KeyboardNavigationMode.Continue); handled = true; } break; case SynchronizedScrollViewerPosition.Right: if (isAtRight == true) { KeyboardNavigation.SetDirectionalNavigation(scrollViewer, KeyboardNavigationMode.Continue); KeyboardNavigation.SetTabNavigation(scrollViewer, KeyboardNavigationMode.Continue); handled = true; } break; case SynchronizedScrollViewerPosition.None: default: break; } if (handled == false) { KeyboardNavigation.SetDirectionalNavigation(scrollViewer, KeyboardNavigationMode.None); KeyboardNavigation.SetTabNavigation(scrollViewer, KeyboardNavigationMode.None); } } }