Я пытаюсь создать окно чата, такое как IRC, в котором содержимое отображается снизу вверх, так же как и любое окно чата, когда-либо создаваемое.Текст WPF RichTextBox снизу
Это моя XAML, ничего фантазии об этом
<Window
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:ee="http://schemas.microsoft.com/expression/2010/effects" xmlns:ed="http://schemas.microsoft.com/expression/2010/drawing" x:Class="TestChat.Chat"
Title="Chat" Height="700" Width="400" WindowStyle="ThreeDBorderWindow" ResizeMode="CanMinimize">
<Grid>
<RichTextBox x:Name="txtChat" HorizontalAlignment="Left" Height="644" Margin="0,10,0,0" VerticalAlignment="Top" Width="388" VerticalScrollBarVisibility="Auto">
<FlowDocument />
</RichTextBox>
</Grid>
</Window>
И у меня есть BackgroundWorker добавление текста к нему
private void SendWorkerComplete(object s, ProgressChangedEventArgs args)
{
txtChat.AppendText(args.UserState.ToString());
txtChat.ScrollToEnd();
}
private void SendWorker_DoWork(object sender, DoWorkEventArgs e)
{
SendWorker.ReportProgress(0, (string)e.Argument);
}
Свойство VerticalContentAlignment устанавливается в нижней части не оказывает содержимое таким образом, как это можно сделать? есть ли для этого свойство или это нужно делать программным путем?
Вот аналогичное требование. Не точно, как вы указали, но это может сработать для вас: http://stackoverflow.com/questions/10308475/how-can-i-make-a-richtextbox-scroll-to-the-end-wheni-i- add-a-new-line – JamieMeyer
Это только свиток вниз, но если richtextbox пуст, нет смысла воспроизводить это поведение, я думаю, я мог бы добавить пустую строку и прокрутить до конца, прежде чем добавлять к ней вывод для воспроизведения это, но я искал более элегантный способ сделать это, спасибо в любом случае – FuuRe
Не могли бы вы показать нам xaml, который вы используете? – StillLearnin