【问题标题】:What control to chose for large text?为大文本选择什么控件?
【发布时间】:2013-07-02 11:48:02
【问题描述】:

我应该选择什么控件来存放大量带有大量换行符的单词以及突出当前行的方法。就像调试器一样,如果我在第 x 行,我希望该行被着色或其他东西。我添加了一小部分代码给你一个例子,我也认为富文本框应该很好,有什么建议我应该使用什么?(我的程序是一个调试模拟器)

我希望文本看起来如何(颜色方面)的示例,

 #include <iostream> 
using namespace std;
int a,b;
..........
return 0;
}

【问题讨论】:

  • 这看起来像 C/C++,而不是 C#...
  • 由于他的程序是调试模拟器,我认为代码是文本外观的示例。
  • 这是您开发应用程序的代码还是您希望在该文本框中显示的内容的示例?
  • 这是我想动态添加到特定控件的代码示例。我想制作一个调试器模拟器,但我不知道哪种控件最适合这种工作。我的第一个想法是使用富文本框。
  • 如果您碰巧发布了类似的内容(代码方面),请下次在您的问题中说明,否则可能会产生误导。

标签: c# wpf


【解决方案1】:

WPF 中,您应该使用 RichTextBox,因为它为您的内容提供了广泛的自定义选项。

不管怎样,你应该在一开始就真正考虑一下你想要控制的所有事情,如果你觉得不满意,你总是可以选择创建一个自定义控件 具有您想要的功能。

【讨论】:

    【解决方案2】:

    我强烈推荐使用具有.NET port 的 Scintilla,您可以使用 method mentioned here 将此控件嵌入到 WPF 中。

    【讨论】:

    • 在 WPF 中托管 Windows 窗体控件是可能的,但可能会导致视觉体验不佳,因为控件使用 GDI 呈现,而 WPF 使用 DirectX。此外,该控件无法与 WPF 布局引擎很好地集成,使得流畅的布局变得困难或不可能。
    【解决方案3】:

    【讨论】:

    • 我已经尝试了所有的答案,这个是我需要的,但请你告诉我如何一次只编辑一行,例如只编辑一行的文本没有全文。
    【解决方案4】:

    如果您对large amount of words 感兴趣,您应该考虑使用常规 WPF ListView 对数据进行虚拟化。

    请参阅this great SO anwer 了解更多信息。

    但是,听起来您并不真正打算拥有大量数据,在这种情况下,这里的其他答案会更适合您。

    【讨论】:

      猜你喜欢
      • 2011-06-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-10-12
      • 1970-01-01
      • 2022-11-18
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多