WPF:文本编辑器控件,可以通过拖放重新排列段落(如 OneNote)

标签 wpf mvvm textbox wpf-controls text-editor

我想在我的程序中嵌入一个类似 OneNote 的文本编辑器,这样我就可以通过拖放轻松地重新排列段落。

enter image description here

有任何(开源)文本编辑器控件可以执行此操作吗?

谢谢。

最佳答案

明显队长在这里。至少可以说,WPF 中的文本编辑支持确实很差。特别是当您尝试做一些比显示几行纯文本更复杂的事情时。

WPF 的 RichTextBox 是 cr@p 的一部分。但它仍然可以扩展以实现您想要的。您需要做的就是创建一个鼠标事件列表器,每次您觉得是时候显示这个小图标时 - 将其显示在 adorner layer 中超过编辑器。这篇文章有很好的示例如何做到这一点:Richtextbox Resizing Adorner

如果您需要一个开源 WPF 文本编辑器,如果您能找到比 AvalonEdit 更好的东西,我会感到惊讶。 。它不仅具有伟大的建筑风格,而且阅读起来非常愉快和愉快。即使它不直接支持您的功能 - 它是开源的,并且装饰技巧仍然适用。

PS:抱歉,我的回答过于情绪化。我看到太多人在 WPF 中进行文本编辑时难以保持冷静 blush

关于WPF:文本编辑器控件,可以通过拖放重新排列段落(如 OneNote),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6121546/

相关文章:

c# - 在 MVVM 中适当处理 WPF Canvas (缩放)

c# - 让 TextBox 填充 Grid 中的剩余空间

user-interface - 为什么我不能从可编辑的文本框中复制值?

.net - 在 VB.Net 中使用 Enter 键的 Tab 键功能

android - 如何编写一个使用 Context 从 Android 框架中检索数据的用例

c# - 从数据库获取不带空值的字符串值 C#

wpf mvvm 客户端服务器应用程序

c# - VB WPF 到 C# WPF

silverlight - Silverlight 中围绕 View 逻辑的 MVVM 最佳实践

c# - 当来自另一个线程的事件更改属性时, View 不更新