基于缩放设置wpf中滚动条的拇指大小
在我的图形应用程序中,画布区域有一些图形。与x-cordinate和y-cordinate关联的滚动条必须与画布的此视口区域(图形所在的位置)同步。 当用户单击缩放按钮时,图形将被放大和缩小。现在的问题是设置此缩放的滚动条。放大或缩小时,滚动条的视口应与缩放百分比同步 在这种情况下,如何设置滚动条的拇指大小。 我有滚动条的最大值、最小值和值属性 以及使用zoomfactor的整个图形的宽度和高度 如何设置滚动条的视口大小或拇指大小 我使用了下面的代码片段来获取ViewportSize,但它并不准确基于缩放设置wpf中滚动条的拇指大小,wpf,canvas,scrollbar,Wpf,Canvas,Scrollbar,在我的图形应用程序中,画布区域有一些图形。与x-cordinate和y-cordinate关联的滚动条必须与画布的此视口区域(图形所在的位置)同步。 当用户单击缩放按钮时,图形将被放大和缩小。现在的问题是设置此缩放的滚动条。放大或缩小时,滚动条的视口应与缩放百分比同步 在这种情况下,如何设置滚动条的拇指大小。 我有滚动条的最大值、最小值和值属性 以及使用zoomfactor的整个图形的宽度和高度 如何设置滚动条的视口大小或拇指大小 我使用了下面的代码片段来获取ViewportSize,但它并不准
mScrollBarY.ViewportSize = (double)yAxis.CurrentValueRange;
其中,CurrentValueRange给出放大的可见范围 这里我看到两种方法:
void updateScrollBar()
{
scrollBar.Minimum = 0;
scrollBar.Maximum = extent;
scrollBar.ViewportSize = viewport * scale_factor;
scrollBar.SmallChange = 10 * scale_factor;
}
放大处理程序:
scale_factor /= 2;
updateScrollBar();
缩小处理程序:
scale_factor *= 2;
updateScrollBar();
顺便说一下,我在网站上找到了以下公式:
难道你不能通过将a应用到画布并将其放入a中来自动处理所有这些吗?我不知道如何将最小值和ViewportSize设置为相同的值。
ThumbSize = TrackLength * ViewportSize / (Maximum - Minimum + ViewportSize)