我正在嘗試創建一個像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-when-i- add-a-new-line – JamieMeyer
只能滾動到底部,但如果richtextbox是空的,沒有用於重現此行爲,我想我可以添加一堆空行並滾動結束,然後再將輸出附加到它以重現這,但我正在尋找一個更優雅的方式來做到這一點,謝謝 – FuuRe
你能告訴我們你使用的xaml嗎? – StillLearnin