再灵活的布局也不是万能的,极端的情况总会让它的脆弱一览无余,比如今天的主角TextBlock,它在WPF/SL应用程序中担任着显示文本的职责,它即轻巧又强大,大部分情况下都工作的非常好,但是过长的文本就会出现字符串截断了,这显然不是我们期望的,幸运的是,MS已经考虑到了这点,通过设置TextBlock的TextTrimming属性可以改变这种现象,可选值分别为None, CharacterEllipsis和WordEllipsis,字面意思已经很清楚了,就不再翻译了吧,对于非None值,会在截断处自动添加"...", 用户体验上自然更上了一层楼。

但是如果这部分文字比较重要,又比较长,如果仅是达到以上显示效果,是不是会令人抓狂呢(是的,你非常友好的告诉我这段信息太长,被截断了,但是你总得有个途径让我看到完整的信息吧)

为此EllipseBehavior应运而生,能够使得TextBlock在出现字符截断时自动将完整信息以ToolTip的形式展示出来,是不是很酷,但它的代价却是那么的微乎其微,你只需要添加类似如下的代码即可:

<TextBlock Name="tb" Margin="50"  Text="Browse XAML, WPF, and Behavior" Height="48" VerticalAlignment="Top">
    
<interact:Interaction.Behaviors>
        
<Behaviors:EllipseBehavior/>
    
</interact:Interaction.Behaviors>
</TextBlock>

相关文章: