C# 如何获取放置在scrollviewer上的画布的可见边框

C# 如何获取放置在scrollviewer上的画布的可见边框,c#,wpf,canvas,scroll,C#,Wpf,Canvas,Scroll,我把画布放在scrollviewer上,以允许滚动。可以得到画布可见部分的坐标吗 我试着这样计算 leftBorder = ScrollViewer1.HorizontalOffset; rightBorder = ScrollViewer1.ViewportWidth - ScrollViewer1.HorizontalOffset; topBorder = ScrollViewer1.VerticalOffset; bottomBorder = ScrollViewer1.Viewport

我把画布放在scrollviewer上,以允许滚动。可以得到画布可见部分的坐标吗

我试着这样计算

leftBorder = ScrollViewer1.HorizontalOffset;
rightBorder = ScrollViewer1.ViewportWidth - ScrollViewer1.HorizontalOffset;

topBorder = ScrollViewer1.VerticalOffset;
bottomBorder = ScrollViewer1.ViewportHeight - ScrollViewer1.VerticalOffset;

但它似乎不起作用。

水平和垂直偏移是该方向上的实际滚动值。 除此之外,如果您希望内容的大小没有任何可见的滚动条。 您可以搜索名为“PART_ScrollContentPresenter”的子级。这将显示scrollviewer的实际内容,当滚动条需要更多空间时,将调整此内容的大小

希望有帮助