Tôi có một số chỉ đọc RichTextBox được sử dụng để đăng xuất đầu ra. Vì chúng chỉ đọc, chúng dường như không tự động cuộn khi văn bản được cập nhật. Tôi có thể sử dụng sự kiện TextChanged để buộc một cuộn để kết thúc, nhưng không chỉ đơn giản là một cách để thiết lập một tài sản hoặc một cái gì đó trong XAML để cuộn xảy ra như bình thường?Làm cách nào để tạo một RichTextBox cuộn đến cuối khi tôi thêm một dòng mới?
Trả lời
Tôi đã googled cho vấn đề của bạn và tìm thấy this bài đăng. Trong phần "Lập trình RichTextBox" tác giả đã mô tả về nhận được hành vi những gì bạn đã mong đợi.
Vui lòng kiểm tra và cho tôi biết nếu có bất kỳ việc sử dụng nào.
tôi đã cố gắng để tái tạo vấn đề của bạn và đưa ra các giải pháp sau đây
<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>
Các mã sau cho cùng là như sau:
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();
}
}
}
này giải quyết vấn đề của autoscroll , xin vui lòng kiểm tra nó và cho tôi biết nếu nó là của bất kỳ sự giúp đỡ.
Nó làm cho thanh cuộn hiển thị, nhưng nó vẫn không cuộn đến cuối tài liệu khi văn bản được thêm vào theo chương trình. Có vẻ như tôi có thể bị mắc kẹt với sự kiện TextChanged. – Merad
Tôi hy vọng giải pháp đã chỉnh sửa có thể giúp bạn thoát khỏi – Pank
@Merad Bạn làm như thế nào với sự kiện TextChanged? –
Tôi giải quyết vấn đề này bằng cách sử dụng kích hoạt Interactivity và hành động rất đơn giản.
Hành động trông như thế này:
public class ScrollToBottomAction : TriggerAction<RichTextBox>
{
protected override void Invoke(object parameter)
{
AssociatedObject.ScrollToEnd();
}
}
Sau đó, trong XAML của tôi, tôi có điều này:
<RichTextBox IsReadOnly="True" VerticalScrollBarVisibility="Auto">
<i:Interaction.Triggers>
<i:EventTrigger EventName="TextChanged">
<interactivity:ScrollToBottomAction/>
</i:EventTrigger>
</i:Interaction.Triggers>
</RichTextBox>
Giải pháp tuyệt vời! –
Tôi không thể làm điều này để làm việc vì một cái gì đó để làm với phiên bản pha trộn cũ. Và tôi đã thử những gì được đề xuất trong http://stackoverflow.com/questions/32024034/the-type-from-assembly-is-built-with-an-older-version-of-blend-sdk-and-is -not-su không may mắn. Có suy nghĩ gì không? – Snoopy
RichTextBox.AppendText("String")
RichTextBox.ScrollToCaret()
Khi tôi đã thêm vào RichTextBox.text, ScrollToCaret() không hoạt động .
RichTextBox.text = RichTextBox.text + "String"
RichTextBox.ScrollToCaret()
'ScrollToCaret' là cho một WinForms' RichTextBox', không phải là một WPF một. Có một câu hỏi về điều đó ở đây: [Hộp văn bản có định dạng cuộn xuống cuối khi dữ liệu mới được ghi vào nó] (http://stackoverflow.com/questions/9416608/rich-text-box-scroll-to-the-bottom- khi mới-dữ liệu-được viết-to-it) –
- 1. Làm cách nào để cuộn một RichTextBox xuống dưới cùng?
- 2. Thêm một dòng mới vào cuối JtextArea
- 3. Không gian sau dòng mới trong RichTextBox
- 4. Cách cuộn đến cuối System.Windows.Forms.WebBrowser?
- 5. Cuộn đến cuối ScrolledWindow/TextView
- 6. Cuộn một TextView đến một dòng cụ thể
- 7. Tôi làm cách nào để thêm một chuỗi vào đầu mỗi dòng trong một tệp?
- 8. Cách hiển thị số của một dòng trong RichTextBox C#
- 9. Di chuyển đến cuối một dòng WPF TextBox
- 10. NetBeans 7.0, làm thế nào để đi đến cuối dòng?
- 11. khớp một phần của chuỗi cho đến khi nó đến cuối dòng (python regex)
- 12. Làm cách nào để thêm dòng mới bằng printf?
- 13. Làm cách nào để thêm dòng mới vào lỗi flash?
- 14. Làm cách nào để nối các chuỗi vào cùng một dòng thay vì tạo một dòng mới?
- 15. RichTextBox cuộn ngang không hoạt động
- 16. Thêm một dòng mới vào tập tin?
- 17. Làm thế nào để đọc một dòng từ stdin, chặn cho đến khi dòng mới được tìm thấy?
- 18. Làm cách nào để tạo một dòng mới sau phần tử khởi động twitter?
- 19. Làm thế nào để thêm một NSTableView cuộn lập trình
- 20. Cách cuộn một ListView cho đến khi tôi thấy một chuỗi cụ thể với Calabash-Android
- 21. Làm thế nào để tạo một mảng từ một chuỗi bằng dòng mới trong JavaScript?
- 22. iScroll lite tìm thấy khi tôi đã đến cuối cuộn hoặc phần dưới của phần tử
- 23. Có cách nào để NetBeans đảm bảo một dòng mới ở cuối tệp không?
- 24. Làm cách nào để cuộn xuống cuối ListBox?
- 25. Làm cách nào để tạo một bản vá từ cam kết git mới nhất của tôi?
- 26. Làm cách nào tôi có thể cuộn đến một dòng được chỉ định trong Hộp văn bản WinForms bằng C#?
- 27. Cách tạo DIV luôn ở cuối trang khi cuộn
- 28. Làm cách nào để thêm nhiều mục vào ListView trước khi đến cuối danh sách trên ứng dụng BB10?
- 29. Cách cuộn đến hàng cuối cùng trong JTable
- 30. QDebug() << stuff; thêm một dòng mới tự động?
thể trùng lặp của [Verticall cuộn richtextbox trên dưới cùng \ [WPF \]] (http://stackoverflow.com/questions/4256129/verticall-scroll-richtextbox-on-the-bottom-wpf) –