【问题标题】:WPF, Text input, each word as a separate objectWPF,文本输入,每个单词作为一个单独的对象
【发布时间】:2021-10-30 20:32:40
【问题描述】:

我必须创建一个 Windows 应用程序,这是一个文字处理器,它会建议用户输入他输入的单词的同义词。这必须在整个文档中工作,包含多个句子,生成并显示为弹出窗口,或者上下文菜单,仅当用户右键单击一个单词时。我相信我必须将每个单词作为一个单独的对象,以便我可以订阅 RMBClick 事件然后填充弹出窗口并显示它。问题是,我不知道如何让用户输入的每个单词成为一个单独的对象。有干净的解决方案吗?我认为问题类似于拼写检查的问题

【问题讨论】:

  • 你能做到Split(' ') 吗?
  • 我的意思是,给定一个TextBox(或RichTexBox),里面有一个句子,我怎么知道用户右键点击了什么词?我的想法是将每个单词作为一个单独的 ui 元素,以便我可以订阅它的 OnClick 事件。但我不知道要使用什么类型的元素,以及如何处理原始用户输入以使其可靠地写入、删除和插入句子中的文本......
  • 请更具体并显示您正在使用的文本控件

标签: c# .net wpf windows


【解决方案1】:

当使用RichTextBox 时,您可以通过调用RichTextBox.GetPositionFromPoint 来获取TextPointer,它为所提供的点指定最近的插入位置。使用获取的TextPointer检查文本内容。

使用TextBox时,可以通过调用TextBox.GetCharacterIndexFromPoint来获取离指定点最近的字符的索引。使用获取的索引检查文本内容。

在这种情况下,文本检查意味着在当前位置/索引(单词边界)处找到单词的开头和结尾。

【讨论】:

    猜你喜欢
    • 2012-11-09
    • 1970-01-01
    • 2019-09-30
    • 2015-07-30
    • 1970-01-01
    • 1970-01-01
    • 2019-05-28
    • 2020-08-29
    • 1970-01-01
    相关资源
    最近更新 更多