C# 使用UIAutomation获取ControlType.Spinner元素的值
我获得了窗口和微调器对象:C# 使用UIAutomation获取ControlType.Spinner元素的值,c#,spinner,microsoft-ui-automation,C#,Spinner,Microsoft Ui Automation,我获得了窗口和微调器对象: var OrderWindow = AutomationElement.RootElement.FindFirst(TreeScope.Children, new PropertyCondition(AutomationElement.NameProperty, "*NAME*")); var numberOfXX = OrderWindow.FindFirst(TreeScope.Descendants, new PropertyCondition(Automat
var OrderWindow = AutomationElement.RootElement.FindFirst(TreeScope.Children, new PropertyCondition(AutomationElement.NameProperty, "*NAME*"));
var numberOfXX = OrderWindow.FindFirst(TreeScope.Descendants, new PropertyCondition(AutomationElement.AutomationIdProperty, "*NAME*"));
然后我访问微调器RangeValuePatterm:
RangeValuePattern value = numberOfXX.GetCurrentPattern(RangeValuePattern.Pattern) as RangeValuePattern;
我应该能够使用简单的:
value.SetValue(5);
修改其值,但它不起作用。我收到“System.ArgumentOutOfRangeException”类型的异常-值大于最大值。(什么是正确的,但我不知道如何更改最大允许值…)
我也不知道如何获取其当前值,因为很简单:
value.Current.Value
无论输入什么值,始终返回0。我可以简单地发送键来设置微调器的值,而不是通过UIAutomation访问它,但我不知道如何读取微调器的实际值→ 因此无法检查它是否正确。UI自动化会自动执行用户使用应用程序的方式。由于用户无法更改微调器的最大值,因此您的应用程序也无法更改。如果你可以,那么当应用程序得到一个它不期望的值时,结果会很糟糕。谢谢,我想是的,但值得玩它。我需要spinner的值是他们的任何解决方案,它也不显示其中的编辑控件