2011-05-28 77 views
0

我想在wpf中創建某種形式的更新區域。它需要啓動,因爲它將連接到不斷需要顯示的實時文本流。wpf更新文本塊

的想法是,我將有一個數據流,這將包括用戶名和文本的,這會在一個隨機時間,需要顯示:

用戶:測試::測試:的TextData

用戶:NextTest ::測試:TESTDATA

等上一個新行的每個項目,所以對象需要啓動確定年代在一個滾動的格式,以便在新項目將被添加到了谷底。

目前我使用:

<ScrollViewer VerticalScrollBarVisibility="Auto"> 
    <StackPanel> 
     <TextBox Margin="5" TextWrapping="Wrap" AcceptsReturn="True" IsReadOnly="True" x:Name="LogDetails"></TextBox> 
    </StackPanel> 
</ScrollViewer> 

但是這並不能真正顯示的數據非常好,該數據是基於剛剛串,沒有人知道一個更好的解決方案?

感謝

+0

你想讓texbox顯示一個連續變化的字符串嗎?你試圖綁定數據嗎? – 2011-05-28 09:03:39

+0

我沒有得到正確的問題。你能否詳細說明你想讓顯示器看起來像? – 2011-05-28 09:26:26

+0

我已經更新了這個問題,我希望詳細說明我正在努力實現的目標。 – user101010101 2011-05-28 10:07:52

回答

1

的問題是有點含糊,但在這裏一試:
作爲一種選擇,爲什麼不使用TextBlock代替文本框,如果文本自動改變?
警告:如果您想使用文本框,請不要忘記將UndoLimit設置爲0。否則,如果連續更改TextBox內容,將會消耗大量內存。

<TextBox UndoLimit="0" .../> 

如果文字多個字符串元素的concattenation,創建佈局具一格,更精美的使用多的TextBlocks所顯示的數據?也許還有一些數據可以視爲符號?

如果它是一個日誌,也許你想用字符串填充一個列表並將該列表設置爲ItemsControl的ItemsSource?通過ItemTemplate屬性,你可以指定每個項目的佈局?使用ObservableCollection<string>,那麼你只需要將字符串添加到集合中,ItemsControl就會自動刷新。您可以使用ItemsControl,ListBox,ListView作爲這樣的日誌。