public static Collection <object> GetItems(IntPtr controlHandle) { try { AutomationElement control = CommonUIAPatternHelpers.Prologue(SelectionPattern.Pattern, controlHandle); AutomationElementCollection convRet = SelectionItemPatternHelper.GetListItems(control); Collection <object> ret = InternalUtilities.AutomationCollToObjectList(convRet); if (ret == null) { ProdListBoxNative.GetItemsNative(controlHandle); } LogController.ReceiveLogMessage(new LogMessage(control.Current.Name, ret)); return(ret); } catch (InvalidOperationException err) { throw new ProdOperationException(err.Message, err); } catch (ElementNotAvailableException err) { throw new ProdOperationException(err.Message, err); } catch (ArgumentException err) { throw new ProdOperationException(err.Message, err); } }
/// <summary> /// Natives the get items. /// </summary> /// <param name="control">The control.</param> /// <returns></returns> private static Collection <object> NativeGetItems(BaseProdControl control) { if (control.UIAElement.Current.ControlType == ControlType.ComboBox) { return(ProdComboBoxNative.GetItemsNative((IntPtr)control.UIAElement.Current.NativeWindowHandle)); } return(ProdListBoxNative.GetItemsNative((IntPtr)control.UIAElement.Current.NativeWindowHandle)); }