【问题标题】:Append text in UWP(XAML)?在 UWP(XAML) 中附加文本?
【发布时间】:2017-03-06 00:05:53
【问题描述】:

Windows 窗体应用程序中有一个命令 appendText 可以在文本框中添加文本而不删除以前的文本。

但我在 UWP(XAML) 应用程序(如 appendText)中没有找到任何命令。我应该在 UWP(XAML) 中使用什么来像 appendText 一样做同样的事情?

【问题讨论】:

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


    【解决方案1】:

    恐怕这是不可能的。但是,如果您希望提高速度,您可以将 TextBox 值与已编译绑定 x:Bind
    绑定 在这种情况下,如果您在 c# 代码隐藏中更改值,它将在 UI 中快速更改

    文本渲染在 Windows 10 中得到了优化。它已经比 Windows 8.1 快了 50% 如果你想优化 TextBlock 的加载速度,那么你可以:

    1. 如果您想获得良好的 TextBlock 性能,请将 IsTextSelectionEnabled 属性设置为 false 并将 CharacterSpacing 设置为 0。 LineHeight 也应设置为 0。
    2. 使用默认字体
    3. TextTrimming:只有 None、CharacterEllipsis 和 WordEllipsis 值
    4. 使用 Text="" 属性设置文本

      <StackPanel>
      <TextBlock Text="This text is on the fast path."/>
      <TextBlock>This text is NOT on the fast path.</TextBlock>
      <StackPanel/>
      

    您可以在此处阅读此内容和其他建议:Text block Performance considerations

    【讨论】:

      【解决方案2】:

      我找到了一个简单的方法:

      {
          //prevString = the string availabe in textbox before adding newString
          //newString = the string I want to add as appendText
      
          //Get all string in textbox in prevText string
          string prevString = reciveTextBox.Text;
          //always print the prevString before printing newString
          reciveTextBox.Text = prevString + newString;
      }
      

      它的工作原理与 appendText 完全相同!

      【讨论】:

      • 当然可以))但它不是一成不变的(希望您知道 StringBuilder 是连接字符串的更快方法,而不是 string1+string2)
      【解决方案3】:

      这是一个简单的方法:

      textBox1.Text += "new text";
      

      appendText

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2019-05-09
        • 2017-01-17
        • 2020-01-29
        • 1970-01-01
        • 1970-01-01
        • 2019-05-05
        相关资源
        最近更新 更多