3

最後に追加されたテキストブロックの内容を表示したい。これは、Windows の電卓と同じように、テキストを追加するときに最後まで自動スクロールして非表示のコンテンツを表示することを意味します。

電卓でさらに数字を入力すると、最後に入力した数字だけが表示されます。十分なスペースがない場合、以前に入力した数字は非表示になります。まったく同じことをしたい..

誰か助けてくれませんか?

4

2 に答える 2

17

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() メソッドを呼び出すことができます。これについては、これまたはこれを参照してください。ただし、もう少し調査を行う必要がある場合があります。

于 2013-08-01T21:00:20.973 に答える
2

TextBlock ではなく、TextBox のことですか? 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>
于 2013-08-01T21:07:15.723 に答える