使用UIAutomation获取ControlType.Spinner元素的值

时间:2014-04-29 08:43:54

标签: 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(AutomationElement.AutomationIdProperty, "*NAME*"));

然后我访问微调器RangeValuePatterm:

RangeValuePattern value = numberOfXX.GetCurrentPattern(RangeValuePattern.Pattern) as RangeValuePattern;

我应该可以使用简单的:

value.SetValue(5);

要修改其值,但它无法正常工作。我得到一个类型为' System.ArgumentOutOfRangeException'的例外。 - 值大于最大值。 (这是真的,但我不知道如何改变最大允许值......)。

此外,我不知道如何获得其当前值,因为简单:

value.Current.Value
无论输入什么值,

始终返回0。我可以简单地发送键来设置微调器的值,而不是通过UIAutomation访问它,但我不知道如何读取微调器的实际值→因此如果它是正确的则无法检查它。 / p>

0 个答案:

没有答案