0

我需要在 UWP 中创建自定义滚动条吗?但我找不到任何明确的逻辑来计算滚动条拇指宽度和位置。我试过什么?

ThumbWidth=(VisibleLength/TotalLength)*ScrollRegionWidth;
ThumbPosition=(ScrollLeft/TotalLength)*ScrollRegionWidth;

在哪里,

VisibleLength -> viewable area width  
TotalLength -> Total Content width  
ScrollRegionWidth -> Scrollbar width - (2 x ArrowWidth)  (or) Thumb Track width
ScrollLeft -> how much content scrolled !! 

这是对的吗 ?我试过这样。但是当我的整个内容滚动到结尾时,滚动条拇指不会进入拇指轨道的结尾!

我需要创建一个自定义滚动条,怎么做?我需要拇指宽度和位置的完整逻辑。

4

1 回答 1

1

如何在 UWP 中创建自定义滚动条?

ThumbWidth=(VisibleLength/TotalLength)*ScrollRegionWidth;

你的第一行是正确的。您可以使用 验证它VisibleLength = TotalLength,然后ThumbWidth将填充所有ScrollRegion.

ThumbPosition=(ScrollLeft/TotalLength)*ScrollRegionWidth;

但是第二行看起来不正确,Thumb 的起始位置应该是左上角,ScrollRegion 应该是 ( ScrollRegionWidth- ThumbWidth)。

ThumbPosition=(ScrollLeft/TotalLength)*(ScrollRegionWidth-ThumbWidth);
于 2022-02-08T08:30:15.807 回答