2014-05-08 79 views
0

好的,所以我在Windows Phone 8應用程序中有一個帶有TextBlock的XAML頁面。我的困境是這樣的:XAML WP8並使'TextBlock'向下滾動

我實際上在TextBlock中增加了更多的內容(帶有Inline.Add(新的Run ...)的格式化的行。)由於ScrollViewer的存在,一行一行地出現在底部,我也沒問題,只要TextBlock在下一行時會繼續向下滾動(實際上看起來更好),我的TextBlock在ScrollViewer中如下圖所示:?

<Popup x:Name="send_message_xaml" Grid.Row="1" VerticalOffset="0" Width="750" Height="auto"> 
     <StackPanel Orientation="Vertical" Margin="0,0" Width="auto" Height="auto"> 
      <ScrollViewer Height="345" HorizontalAlignment="Left" Margin="0,0,0,0" Name="scrollViewer1" VerticalAlignment="Bottom" Width="420" VerticalScrollBarVisibility="Auto"> 
       <TextBlock x:Name="message_log" Margin="40,50,0,0" TextWrapping="Wrap" Width="420" VerticalAlignment="Top" FontSize="22"/> 
      </ScrollViewer> 
      <TextBox x:Name="message_to_send" InputScope="Chat" Width="480" KeyDown="message_to_send_KeyDown" Margin="15,0"/> 
     </StackPanel> 
    </Popup> 

我怎樣才能獲得文本塊如此滾動,最新的附加消息始終在底部,我發現了一堆這些線程,但沒有似乎至今解決我的問題,我需要。至在追加的地方添加一些代碼?

回答

1

您需要根據ScrollableHeight更新VerticalOffset。當您將新內聯添加到TextBlock時,其高度將發生變化,並會通知父母ScrollViewer。因此,向內聯添加新項目後,運行Measure方法並更新VerticalOffset

Here is an example.