我想查看最后添加的文本块的内容。这意味着我想在添加更多文本时自动滚动到末尾并查看隐藏的内容......就像在 Windows 计算器中一样。
在计算器中,当我输入更多数字时,它只显示最后输入的数字。当空间不足时,先前输入的数字将被隐藏。我想做完全相同的事情..
有人可以帮帮我吗?
我不认为TextBlock
s 可以滚动。您可以TextBlock
将ScrollViewer
.
XAML:
<ScrollViewer Name="MyScrollViewer">
<TextBlock TextWrapping="Wrap">
A bunch of text
</TextBlock>
</ScrollViewer>
代码隐藏:
MyScrollViewer.ScrollToBottom();
看来,如果您在 ListBox 中有多个 TextBlock,则无法很容易地访问它的 ScrollViewer 来完成同样的事情。如果您这样做,请将您的 ListBox 更改为 ItemsControl 并将其放入 ScrollViewer。我认为你会失去选择能力。
如果确实需要使用 ListBox,则可以获取属于最后一项的视图并调用 ListBox 的 ScrollIntoView() 方法。请参阅this或this了解有关该内容的信息,但您可能需要进行更多研究。
你的意思是一个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>