2
System.Windows.Automation
を使用してControlType.Document
要素にテキストを設定するにはどうすればよいですか?.NET Automation ControlType.Document:テキストを操作する方法は?
Document ControlTypeではValuePatternは使用できず、TextPatternでは新しい値の設定ができません。
これは動作しません:
private void InsertTextIntoAutomationElement(AutomationElement element, string value) {
object valuePattern = null;
if (!element.TryGetCurrentPattern(ValuePattern.Pattern, out valuePattern)) {
element.SetFocus();
Thread.Sleep(100);
SendKeys.SendWait("^{HOME}"); // Move to start of control
SendKeys.SendWait("^+{END}"); // Select everything
SendKeys.SendWait("{DEL}"); // Delete selection
SendKeys.SendWait(value);
} else{
element.SetFocus();
((ValuePattern)valuePattern).SetValue(value);
}
}
:
automationElement.GetCurrentPattern(ValuePattern.Pattern) as ValuePattern)
.setValue(value);