我正在寫一個Windows Phone應用程序,我想實現「點擊文本擴展」功能。動態文本塊
我有一系列的TextBlocks
,目前看起來很像這樣重複多次:
<TextBlock
Name="description" HorizontalAlignment="Left" VerticalAlignment="Top"
Margin="12,40,0,0" Width="444"
TextWrapping="NoWrap" TextTrimming="WordEllipsis" />
[注意最後兩個:TextWrapping="NoWrap"
TextTrimming="WordEllipsis"
和缺乏Height
被設置]
這說明一行,當行比屏幕更長時,它以省略號結束,這是完美的。目前,當用戶點擊TextBlock
時,我將TextWrapping
轉換爲Wrap
。這允許文本根據需要採用儘可能多的行(我想要的功能)。
問題是,當我打開TextWrapping
到Wrap
它擴展到它下面的TextBlock
(請記住,我有一堆這些打包在一起)。此外,爲了得到它的擴展完全我從來沒有最初設定Height
,所以如果我稍後再嘗試訪問它,我得到NaN
(和ActualHeight
從來沒有從26.6變化,不管它擴大多少行是)
我尋找一種方法來動態地將它下面的TextBlocks
降低到顯示整個文本所需的數量,但我不知道「正確」的方式去實現它。 (上類似的說明:硬編碼Margin
是不理想的,尤其是對於動態地擴大文本,有一個「RelativeLayout
」(或類似的東西),我一直無法找到?)
很好,謝謝! – pseudosudo 2012-03-30 06:18:13