对 RichTextBox 的自动化支持 - 无法使用 White 的 UI 获取文本

本文关键字:White UI 获取 取文本 自动化 RichTextBox 支持 | 更新日期: 2023-09-27 18:31:35

我正在尝试使用怀特的UI自动化框架从RichTextBox读取文本,但它总是返回null。

已经将以下代码添加到富文本框中.cs

   protected override AutomationPeer OnCreateAutomationPeer()
    {
        return new RichTextBoxAutomationPeer(this);
    }

是否有任何解决方法来获取文本?或使用TextPattern?

对 RichTextBox 的自动化支持 - 无法使用 White 的 UI 获取文本

我已经使用白色一段时间了,我知道这真的很晚,但我遇到了同样的问题。我使用文本模式从富文本框中获取值,找到下面的示例代码,希望这无论如何都有帮助。

 AutomationElement ele =window.GetElement(SearchCriteria.ByAutomationId("richTextBoxId>"));
        if (ele != null)
        {
            TextPattern txtPattern = ele.GetCurrentPattern(TextPattern.Pattern) as TextPattern;
            String controlText = txtPattern.DocumentRange.GetText(-1);
            Debug.WriteLine("the text is" + controlText);
        }