2016-05-23 15 views
1

TextBlockのテキストは、自分のコードの要素にバインドされています。ただし、最初にウィンドウを開くと、Textblockは完全に空になります。テキストを追加するには、ScrollViewerを使用してテキストを下にスクロールしたり、テキストが追加されると自動的にスクロールしたりする必要があります。 MVVMを使用するので、コードビハインドは理想的ではありません。バインドされたテキストのWPFテキストブロックはスクロールしません

<StackPanel Grid.Column="0" Grid.Row="1" Margin="0 10"> 
    <Label Style="{StaticResource LabelStyle}">Output</Label> 
    <ScrollViewer VerticalScrollBarVisibility="Visible" Height="100"> 
     <TextBlock ScrollViewer.CanContentScroll="True" Height="100" VerticalAlignment="Stretch" TextWrapping="Wrap" Text="{Binding Path=ProcessingOutput}"/> 
    </ScrollViewer> 
</StackPanel> 

どうすればいいですか? ScrollViewerを更新して、TextBlockに表示されているテキストを超えてさらに多くのテキストが表示されるようにする方法がありますか?またはユーザーが下にスクロールできるようにするか、またはバインドでテキストが追加されると自動的にスクロールする自動スクロール機能を設定できますか?

ありがとうございます!あなたは、例えば、テキストは、他の答えはScrollViwer.ScrollToBottom()メソッドを使用することをお勧め変更したとき、それはスクロールさせるためにTextBlockから

Height="100"を削除する場合

答えて

0

スクロールバーが動作しますこのように:

<ScrollViewer Name="scroll" 
       VerticalScrollBarVisibility="Visible" 
       Height="100"> 
    <TextBlock ScrollViewer.CanContentScroll="True" 
       VerticalAlignment="Stretch" 
       TextWrapping="Wrap" 
       Text="{Binding Path=ProcessingOutput, NotifyOnTargetUpdated=True}" 
       TargetUpdated="Txt_OnTargetUpdated"> 
     </TextBlock> 
</ScrollViewer> 
private void Txt_OnTargetUpdated(object sender, DataTransferEventArgs e) 
{ 
    scroll.ScrollToBottom(); 
} 
+0

うわー、私はそのために一日中検索した、と働いていたのTextBlockからの高さを取って!ありがとうございました!! – HaydenThrash

関連する問題