当控件在滚动查看器中的某个位置时,有没有办法确定WPF中控件可见区域的大小和位置?
我想以可见区域百分比最高的控件为中心。
答案 0 :(得分:0)
解决问题的约束。假设所有控件的宽度相同
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);