2013-04-29 74 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