/// <summary> /// Wrapper around IScrollInfo.MakeVisible /// </summary> /// <param name="scrollInfo">The IScrollInfo to call MakeVisible on</param> /// <param name="visual">visual parameter for call to MakeVisible</param> /// <param name="rectangle">rectangle parameter for call to MakeVisible</param> /// <returns>Rectangle representing visible portion of visual relative to scrollInfo's viewport</returns> private static Rect MakeVisible(IScrollInfo scrollInfo, Visual visual, Rect rectangle) { // Rect result; if(scrollInfo.GetType() == typeof(System.Windows.Controls.ScrollContentPresenter)) { result = ((ScrollContentPresenter)scrollInfo).MakeVisible(visual, rectangle, false); } else { result = scrollInfo.MakeVisible(visual, rectangle); } return result; }