Как прокрутить текстовое поле до конца в UWP? - PullRequest
1 голос
/ 19 июня 2020

Я работаю над проектом и решил использовать UWP вместо использования winforms (что мне удобнее). У меня есть очень простой TextBox, который я использую как способ регистрации отправляемых и получаемых данных. Вот простой пример того, как это выглядит:

Вид текстового поля

Вот какой код XAML для него:

<Grid>
    <TextBlock HorizontalAlignment="Left" Margin="18,862,0,0" Text="Logs ?" TextWrapping="Wrap" VerticalAlignment="Top"/>
    <TextBox x:Name="LogsTextBox" Margin="18,886,18,0" Text="Welcome to Tiger" TextWrapping="Wrap" VerticalAlignment="Top" Height="88" FontFamily="Courier New" FontSize="12" AcceptsReturn="True" ScrollViewer.VerticalScrollBarVisibility="Visible" IsReadOnly="True"/>
</Grid>

At в текущий момент времени мой TextBox обернут значением Grid по умолчанию, которое я получил при первом запуске проекта.

Вот посмотрите на метод, используемый для добавления строк в LogsTextBox

/// <summary>
/// A method used to log data to the LogsTextBox
/// </summary>
/// <param name="LogString">The string to be logged</param>
private void Log(string LogString)
{
    string TimeString = DateTime.Now.ToString("hh-mm-ss-tt");
    LogsTextBox.Text += $"\n[{TimeString}]: {LogString}";
}

Как видно на этом изображении регистрируемые данные теперь больше, чем высота TextBox. Могу ли я сделать так, чтобы каждый раз при вызове метода Log LogsTextBox автоматически прокручивался до конца?

Я нашел здесь несколько решений, но они не помогли мне. А именно:

  1. Решение 1
  2. Решение 2

Любая помощь, которую я мог бы получить, будет очень признателен

1 Ответ

0 голосов
/ 20 июня 2020

Фактически, решения 2 ответ и ответ работают.

enter image description here

...