WPF 文本块作为终端 window。我需要设置限制吗?
WPF Textblock as terminal window. Do I need to set a limit?
我正在基于 winForm 版本从头开始编写一个新的 WPF 控件应用程序。该控件将通过串行方式监视机器。在控件中,我想要一个文本 window 来监视来自机器的输入数据。
为此,我有一个 TextBlock 控件。我担心的是,随着存储数据的增长,TextBlock 会不断地 运行s 可能会导致内存问题。控件可以 运行 个月不重新启动。
我在限制 TextBlock 内存和处理旧信息方面没有任何搜索运气。
我应该做些什么来防止块无限存储数据并导致问题发生?或者是否有更好的控件来显示和监控来自机器的传入数据?
我还没有为此编写代码,因为我想正确启动它。但是,当我使用 winform 执行此操作时,我使用了一个 TextBox。在那里我有一个事件处理程序检测传入的数据并使用 stringbuilder
textbox.AppendText(Environment.newline + string)
接收到的数据到window。我认为 TextBlock 可能是完成这一轮的更好方法。
您可以使用 StringBuilder
创建 string
,然后将 TextBlock
的 Text
属性 设置为。任何旧的 Text
值都将有资格进行垃圾回收。没有办法也不应该有理由"limiting TextBlock memory and handling of old information".
Or is there a better control to display and monitor incoming data from the machine?
就内存和性能而言,使用 TextBlock
还是 TextBox
并不重要。如果您需要选择文本,TextBox
是更好的选择。否则,你应该选择一个TextBlock
。在 WPF 应用程序中没有更轻量级的方式来显示文本。
我正在基于 winForm 版本从头开始编写一个新的 WPF 控件应用程序。该控件将通过串行方式监视机器。在控件中,我想要一个文本 window 来监视来自机器的输入数据。
为此,我有一个 TextBlock 控件。我担心的是,随着存储数据的增长,TextBlock 会不断地 运行s 可能会导致内存问题。控件可以 运行 个月不重新启动。
我在限制 TextBlock 内存和处理旧信息方面没有任何搜索运气。
我应该做些什么来防止块无限存储数据并导致问题发生?或者是否有更好的控件来显示和监控来自机器的传入数据?
我还没有为此编写代码,因为我想正确启动它。但是,当我使用 winform 执行此操作时,我使用了一个 TextBox。在那里我有一个事件处理程序检测传入的数据并使用 stringbuilder
textbox.AppendText(Environment.newline + string)
接收到的数据到window。我认为 TextBlock 可能是完成这一轮的更好方法。
您可以使用 StringBuilder
创建 string
,然后将 TextBlock
的 Text
属性 设置为。任何旧的 Text
值都将有资格进行垃圾回收。没有办法也不应该有理由"limiting TextBlock memory and handling of old information".
Or is there a better control to display and monitor incoming data from the machine?
就内存和性能而言,使用 TextBlock
还是 TextBox
并不重要。如果您需要选择文本,TextBox
是更好的选择。否则,你应该选择一个TextBlock
。在 WPF 应用程序中没有更轻量级的方式来显示文本。