2013-04-29 68 views
0

我有一個C#上的地鐵應用程序。 而我有一個大文本。 我需要在文本塊上顯示此修剪的文本,但是當用戶點擊它時,文本塊會展開並顯示全文。如何擴大修剪textBlock

回答

0

通常我的第一個問題是你有什麼嘗試?儘管一些快速的方向(至少簡單的解決方案與xaml無論如何)將使用TextTrimming="WordEllipsis"爲您的修剪,然後使用EventTrigger捕捉Click事件與ChangePropertyAction切換回TextTrimming="none"並可能同時也啓動TextWrapping="Wrap"滿足您的要求。如果你需要一個例子,我可以爲你鞭策一個,但這裏提供了這個概念。希望這可以幫助。

更新

像這樣的東西;

<TextBlock 
     Text="Yada Yada Yada Blah Blah Blah This is a bunch of text stuff blah blah blah." 
     TextTrimming="WordEllipsis" TextWrapping="NoWrap" MaxWidth="100"> 
      <i:Interaction.Triggers> 
       <i:EventTrigger EventName="Click"> 
        <ei:ChangePropertyAction PropertyName="TextTrimming" 
              Value="None" /> 
        <ei:ChangePropertyAction PropertyName="TextWrapping" 
              Value="Wrap" /> 
        <ei:ChangePropertyAction PropertyName="MaxWidth" 
              Value="150"/>             
       </i:EventTrigger> 
      </i:Interaction.Triggers> 
    </TextBlock> 
+0

我明白你,但我有代碼的麻煩。如果可以,請給我舉個例子。 – TheX 2013-04-29 20:59:37

+0

查看有關概念示例的更新答案,當然需要觸發器的交互/交互命名空間。 – 2013-04-29 22:14:44

+0

其實你知道嗎?我很遲鈍,甚至沒有注意到你的標籤。在Win8中'Triggers'沒有太多幫助,你必須使用'VisualStateManager'來替代它。當我獲得更多空閒時間時,我會做出一些路線。太多時間在SL的土地上腐爛了我的大腦......:/ – 2013-04-30 04:25:21