[英]Auto scroll to the end of a Textblock in WPF
我想查看最后添加的文本塊的內容。 這意味着我想在添加更多文本時自動滾動到末尾並查看隱藏的內容……就像在Windows計算器中一樣。
在計算器中,當我輸入更多數字時,它僅顯示最后輸入的數字。 沒有足夠的空間時,先前輸入的數字將被隱藏。 我想做同樣的事情。
有人可以幫幫我嗎?
我認為TextBlock
不能滾動。 您可以將TextBlock
放在ScrollViewer
。
XAML:
<ScrollViewer Name="MyScrollViewer">
<TextBlock TextWrapping="Wrap">
A bunch of text
</TextBlock>
</ScrollViewer>
后台代碼:
MyScrollViewer.ScrollToBottom();
看來,如果一個ListBox中有多個TextBlocks,則無法很輕松地訪問它的ScrollViewer來完成相同的操作。 如果這樣做,請將ListBox更改為ItemsControl,然后將其放入ScrollViewer。 我認為您會失去選擇能力。
如果確實需要使用ListBox,則可以獲取屬於最后一項的視圖,並調用ListBox的ScrollIntoView()方法。 請參見本或本有關一點點,但你可能需要做更多一點的研究。
您是說TextBox,而不是TextBlock? TextBox的默認行為是在輸入更多文本時顯示最新文本。
Window x:Class="textboxscrolltest.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="MainWindow" Height="350" Width="525">
<Grid>
<TextBox Width="75" Height="25"/>
</Grid>
</Window>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.