Ví dụ như cửa sổ "Đầu ra" của Visual Studio.Làm thế nào để làm cho WPF TextBox với một thanh cuộn tự động cuộn xuống dưới cùng khi dòng được thêm vào?
Có cách nào để thực hiện điều đó trong XAML không?
Ví dụ như cửa sổ "Đầu ra" của Visual Studio.Làm thế nào để làm cho WPF TextBox với một thanh cuộn tự động cuộn xuống dưới cùng khi dòng được thêm vào?
Có cách nào để thực hiện điều đó trong XAML không?
Bạn có thể bất cứ khi nào bạn thêm nội dung vào Hộp văn bản đó hoặc khi bạn nghe sự kiện TextChanged kích hoạt phương pháp này: TextBoxBase.ScrollToEnd()
.
Bạn có thể viết attached property hoặc thậm chí tốt hơn là behavior để nghe số TextChanged event và scrolls to the bottom trong gọi lại.
Hành vi cửa sổ đầu ra của Visual Studio là đặc biệt, vì nó sẽ chỉ tự động cuộn xuống nếu dấu nháy ở cuối hộp văn bản, cho phép bạn kiểm tra đầu ra mà không bị quấy rầy nếu dòng mới được thêm vào nó.
Tôi đã có hành vi như vậy với mã này
bool scrollToEnd = TbEvents.CaretIndex == TbEvents.Text.Length;
TbEvents.AppendText(text + Environment.NewLine);
if (scrollToEnd)
{
TbEvents.CaretIndex = TbEvents.Text.Length;
TbEvents.ScrollToEnd();
}