Вы можете использовать array helper из ember-composable-helpers для создания массивов непосредственно в шаблоне:
{{#each (array 1 2 3) as |numbers|}}
{{numbers}}
{{/each}}
Вы могли бы смотреть на выполнение чего-то вроде этого:
[DllImport("user32.dll", SetLastError = true, CharSet = CharSet.Auto)]
private static extern IntPtr LockWindowUpdate(IntPtr Handle);
затем в Вашем методе, который добавляет данные логов (я делаю некоторые предположения здесь) Вы могли бы сделать что-то вроде этого:
LockWindowUpdate(this.Handle);
int pos = richTextBox1.SelectionStart;
int len = richTextBox1.SelectionLength;
richTextBox1.AppendText(yourText);
richTextBox1.SelectionStart = pos;
richTextBox1.SelectionLength = len;
LockWindowUpdate(IntPtr.Zero);
Я сделал немного тестового приложения с таймером, который сделал добавление на richtextbox, и это мешало ему прокрутить так, я мог сделать текстовый выбор. Это имеет некоторые позиционные проблемы и не прекрасно, но возможно это поможет переместить Вас к собственному решению.
Всего наилучшего!