是否有一种方法可以确定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);