繁体   English   中英

Wpf- visual studio中的文本框如何折叠区域以及如何在文本编辑器中实现它?

[英]Wpf- How does the textbox in visual studio collapse regions and how can I implement this in my text editor?

我需要有人指出我正确的方向。

我需要做什么来折叠文本框中的文本区域?

我不需要知道如何允许用户定义区域,只需知道在拥有该区域的索引和长度后如何折叠区域。 我也想像视觉工作室一样,留下可以点击以展开它们的折叠区域的视觉提醒。

Visual Studio使用自己的文本编辑器控件,而不是内置TextBox的WPF。 Visual Studio的内置文本编辑器具有许多与代码编辑相关的高级功能,但不能单独从Visual Studio中获得。

WPF有许多开源和组件文本编辑器控件,包括区域折叠。 我建议您下载AvalonEdit或本答案中列出的任何文本编辑器控件以查看它是如何完成的,并重用您下载的控件或使用类似技术自行编辑。

大多数文本编辑器用于区域折叠的技术是在数据结构中包括“轮廓隐藏”标志,该标志为“是轮廓开始”标志,“轮廓结束”指针和“嵌套级别”添加的每一行维护。 。 通过保持这些最新并让显示模板通过绘制正确的图标/按钮和/或隐藏线来尊重它们,您可以非常轻松地获得所需的效果。 显然,这取决于您的文本编辑器的数据结构跟踪和独立显示每一行,这需要额外的逻辑选择,导航等未包含在WPF中。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM