0

我有一个 UI 设置,其中有一个TabLayoutPanel. 每个选项卡对应一个面板,包裹在ScrollPanel. 基本上这是一个聊天程序,用户可以发布将出现在面板中的消息;这意味着消息可以出现在当前未聚焦的选项卡中。

现在我想做的(这里简化了)是ScrollPanel每当有消息到达时滚动到底部,基本上是为了让最新的消息始终在视图中。这在选定的选项卡中工作正常,但在选项卡中没有问题。

Basically, when the amount of messages in the tab gets enough that the scrollbar is needed, it doesn't seem to register until the tab is selected. 我可以打电话getVerticalScrollPosition(),它会返回 0,即使我知道那里还有很多东西不适合;如果我切换到选项卡,滚动条就在顶部。如果此时我再次切换,它将从这一点开始工作,所以问题是当它从不显示滚动条变为显示它时,在选择选项卡之前似乎没有注册。

有没有人建议绕过这种行为?我试过简单地将滚动条设置为始终显示,但这根本没有帮助。

4

1 回答 1

0

不是 100% 肯定,但我想问题是隐藏选项卡可能是返回 0display:none的原因 。作为一种解决方法,您可以添加一个SelectionHandler并在切换到选项卡时调用该方法getVerticalScrollPosition()
getVerticalScrollPosition()ScrollPanel

于 2013-07-22T13:01:08.663 回答