private static void OnFixedElementLoaded(object sender, RoutedEventArgs e)
        {
            var element = sender as FrameworkElement;

            if (element == null)
            {
                return;
            }

            element.Loaded -= new RoutedEventHandler(TableViewScrollViewer.OnFixedElementLoaded);

            TableViewScrollViewer.SetFixedTranslateTransformCore(element, TableView.GetCanScrollHorizontally(element));
        }
        internal static void SetFixedTranslateTransform(FrameworkElement element, bool canScrollHorizontally)
        {
            if (element == null)
            {
                throw new ArgumentNullException("element");
            }

            if (!TableViewScrollViewer.SetFixedTranslateTransformCore(element, canScrollHorizontally))
            {
                if (!element.IsLoaded)
                {
                    // The method failed to apply the translate transform because it could not find a ScrollViewer
                    // among its ancestors.  Try again when the element will be loaded in case it wasn't in the
                    // VisualTree.
                    element.Loaded += new RoutedEventHandler(TableViewScrollViewer.OnFixedElementLoaded);
                }
            }
        }