我有幾個只讀的RichTextBox用於記錄輸出。由於它們是隻讀的,因此當文本更新時它們似乎不會自動滾動。我可以使用TextChanged事件強制一個滾動結束,但是有沒有簡單的方法來設置屬性或XAML中的東西,使滾動發生像正常?當我添加一個新行時,如何使RichTextBox滾動到最後?
回答
我已經搜索了您的問題,發現this後。 在「編程RichTextBox」一節中,作者描述瞭如何獲得您期望的行爲。
請檢查並讓我知道它是否有任何用處。
我試圖重現你的問題,並與下面的解決方案
<Window x:Class="CheckRichTextBox.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="MainWindow" Height="170" Width="300">
<StackPanel>
<RichTextBox Height="100" Name="richTextBox1" IsReadOnly="True" VerticalScrollBarVisibility="Visible"/>
<Button Name="btnAdd" Content="Click me to add text" VerticalAlignment="Bottom" Click="BtnAddClick" />
</StackPanel>
</Window>
想出了
爲同後面的代碼如下:
using System.Windows;
namespace CheckRichTextBox
{
/// <summary>
/// Interaction logic for MainWindow.xaml
/// </summary>
public partial class MainWindow : Window
{
public MainWindow()
{
InitializeComponent();
}
private void BtnAddClick(object sender, RoutedEventArgs e)
{
richTextBox1.AppendText("You had Clicked the button for adding text\n");
richTextBox1.ScrollToEnd();
}
}
}
這解決了自動滾屏的問題,請檢查它,並讓我知道它是否有任何幫助。
我用Interactivity觸發器和一個非常簡單的動作解決了這個問題。
的操作是這樣的:
public class ScrollToBottomAction : TriggerAction<RichTextBox>
{
protected override void Invoke(object parameter)
{
AssociatedObject.ScrollToEnd();
}
}
然後在我的XAML我有這樣的:
<RichTextBox IsReadOnly="True" VerticalScrollBarVisibility="Auto">
<i:Interaction.Triggers>
<i:EventTrigger EventName="TextChanged">
<interactivity:ScrollToBottomAction/>
</i:EventTrigger>
</i:Interaction.Triggers>
</RichTextBox>
偉大的解決方案! – 2015-11-27 10:54:22
我無法得到這個工作,因爲與舊版混合版本有關。並且我嘗試了在http://stackoverflow.com/questions/32024034/the-type-from-assembly-is-built-with-an-older-version-of-blend-sdk-and-is中提出的建議沒有運氣的不是蘇。有什麼想法嗎? – Snoopy 2016-11-16 19:56:10
RichTextBox.AppendText("String")
RichTextBox.ScrollToCaret()
當我加入RichTextBox.text,ScrollToCaret()不工作。
RichTextBox.text = RichTextBox.text + "String"
RichTextBox.ScrollToCaret()
的
'ScrollToCaret'用於WinForms'RichTextBox',而不是WPF。這裏有一個問題:[新的數據寫入時,Rich Text框滾動到底部](http://stackoverflow.com/questions/9416608/rich-text-box-scroll-to-the-bottom-當新數據,是寫入到它) – 2015-05-14 01:07:05
- 1. 如何添加最後一行到UITableView平滑滾動?
- 2. 添加文本後Richtextbox滾動位置
- 3. 如何添加一個新行的RichTextBox未做空間/空行新行之後?
- 4. 當我處於最後位置時,我們如何動態添加新項目
- 5. 如何在scrollViewDidScroll中添加一個UIView並使其滾動到最後?
- 6. 當Datagrid的滾動條滾動到最後時,我如何獲得Caliburn Micro Action?
- 7. JScrollPane滾動在最後添加的行
- 8. 當滾動到底部並添加新行時,UITableView凍結
- 9. 如何向richTextBox添加新行?
- 10. 當我們向表格視圖添加新行時,如何將平滑滾動添加到UITbaleview
- 11. 如何將光標移動到RichTextBox最後一行的第一個位置?
- 12. UITableView手動滾動到最後一行
- 13. UITextView自動滾動到最後一行
- 14. 在運行時添加組件後如何使JScrollPane可滾動
- 15. 如何將新記錄添加到gridview的最後一行?
- 16. 如何使表視圖滾動到表中的最後一行
- 17. 如何將一個按鈕添加到tableview的最後一行?
- 18. 如何添加一個CSS類到jsGrid的最後一行
- 19. 如何添加類=「最後」到最後一行在環路
- 20. jQuery.ScrollTo - 當我滾動到某個錨點時如何嚮導航項添加類?
- 21. 如何在用戶到達UITableView的最後一行時動態添加行?
- 22. 添加一個小滾動圖標,當一個新行被添加到表視圖
- 23. QTableView滾動到新添加的行
- 24. 當滾動到頂部功能時添加最小高度
- 25. UITableView無法滾動到最後一行
- 26. android tablelaayout動態添加行後添加最後一行
- 27. 我的JScrollPane滾動到我的JTable的前一個最後一行,而不是最後一行
- 28. 每當我添加一個新類時,需要將自動加載轉儲到每次添加新類時
- 29. 滾動到最後添加的行中的JTable
- 30. 如何使scrollView自動滾動到最後添加的值/文本
可能重複的[在底部\ Verticall滾動的RichTextBox [WPF \]](http://stackoverflow.com/questions/4256129/verticall-scroll-richtextbox-on-the-bottom-wpf) – 2015-05-19 23:08:06