确定wpf中可见控制的百分比



是否有一种方法可以确定WPF中控件可见区域的大小和位置,当控件位于滚动查看器中的某个位置时?

我想把可视面积百分比最高的控件居中

在问题约束范围内求解。假设所有控件的宽度相同

ScrollViewer viewer = sender as ScrollViewer;
if (viewer == null) return;
    double absOffset = viewer.HorizontalOffset;
    double width = this.controlWidth;
    double relOffset = absOffset / width;
    double position = Math.Round(relOffset);
    viewer.ScrollToOffset(position * this.controlWidth);

最新更新