如何在 Avalonia 中自动滚动到 ScrollViewer 的新元素?

How to scroll to the new element of a ScrollViewer automatically in Avalonia?

我在 Avaloni UI 上有一个聊天应用程序。消息显示在 ScrollViewer 中。我需要在接收或发送消息时将消息列表滚动到新消息。

您可以使用 ScrollViewer.ScrollToEnd() method.

这是我的一个应用程序的用法示例:

public class ClientPage : UserControl
{
    private ScrollViewer messageLogScrollViewer;

    public ClientPage()
    {
        this.InitializeComponent();
        messageLogScrollViewer = this.FindControl<ScrollViewer>("MessageLogScrollViewer");
    }

    private void InitializeComponent()
    {
        AvaloniaXamlLoader.Load(this);
    }

    public void ScrollTextToEnd()
    {
        messageLogScrollViewer.ScrollToEnd();
    }
}

根据您的具体用例,您可能需要使用 ScrollViewer.LineDown() method 或任何其他提供的方法。

另外你也可以自己设置Offset