【问题标题】:Show rest of text after click on TextBlock单击 TextBlock 后显示其余文本
【发布时间】:2017-08-05 16:45:52
【问题描述】:

此时我有一个这样的TextBlock

<TextBlock MaxLines="4"
            Name="DescriptionText" 
            Grid.Row="1" 
            Grid.Column="1" 
            FontWeight="Thin"
            Foreground="White"
            FontSize="18"
            TextWrapping="Wrap"
            TextTrimming="WordEllipsis"
            Margin="0,10,10,0"/>

点击TextBlock 后,我必须在我在MaxLines 中设置的这两行中显示其余文本。

【问题讨论】:

    标签: c# xaml uwp win-universal-app uwp-xaml


    【解决方案1】:

    在最大线和未设置之间切换

    创建活动

    <TextBlock    
        MaxLines="2"
        Name="DescriptionText" 
        Grid.Row="1" 
        Grid.Column="1" 
        FontWeight="Thin"
        Foreground="White"
        FontSize="18"
        TextWrapping="Wrap"
        TextTrimming="WordEllipsis"
        Margin="0,10,10,0" 
        Tapped = "DescriptionText_Tapped"/>
    

    并在所需的最大值和默认值之间交替。

    private void DescriptionText_Tapped(object sender, TappedRoutedEventArgs e) {
        DescriptionText.MaxLines = DescriptionText.MaxLines == 0 ? 2 : 0;
    }
    

    现在每次点击文本块时,它都会在两个值之间切换。

    【讨论】:

    • 效果很好。我有一个问题,可以在同一个文本块中只显示文本的下一部分吗?
    • @K.Kempski,我不明白你的意思?你能澄清一下吗?
    • 首先我显示例如 500 个字符的文本。文本的总字符数为 1000。点击后我会显示 500-1000 个字符
    • 不,MaxLine 会截断显示文本。删除后显示全部。实现您在此处描述的内容将需要复杂得多。
    【解决方案2】:

    在 Taped Event 中将 MaxLines 设置为 0

    private void DescriptionText_Tapped(object sender, TappedRoutedEventArgs e)
    {
        DescriptionText.MaxLines = 0;
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-10-25
      • 1970-01-01
      • 2014-01-02
      • 2021-10-15
      • 2017-09-22
      • 1970-01-01
      • 2023-01-20
      • 1970-01-01
      相关资源
      最近更新 更多