internal void CallSelectionItemPattern(PatternCmdletBase cmdlet, IUiElement control, IUiElement inputObject)
{
try {
// ISelectionItemPattern selItemPattern = control.GetSelectionItemPattern();
// ISelectionItemPattern selItemPattern = control.GetCurrentPattern<ISelectionItemPattern, SelectionItemPattern>();
ISelectionItemPattern selItemPattern = control.GetCurrentPattern<ISelectionItemPattern>(classic.SelectionItemPattern.Pattern);
if (selItemPattern != null) {
selItemPattern.Select();
if (PassThru && null != (inputObject as IUiElement)) {
try {
// 20131208
// SelectionPattern selPatternTemp = control.GetCurrentPattern(classic.SelectionPattern.Pattern) as SelectionPattern;
// SelectionPattern selPatternTemp = control.GetCurrentPattern<ISelectionItemPattern, SelectionItemPattern>(classic.SelectionPattern.Pattern) as SelectionPattern;
ISelectionPattern selPatternTemp = control.GetCurrentPattern<ISelectionPattern>(classic.SelectionPattern.Pattern);
if (selPatternTemp != null) {
// 20131208
// IUiElement[] selection = AutomationFactory.GetUiEltCollection(selPatternTemp.Current.GetSelection()).Cast<UiElement>().ToArray();
IUiElement[] selection = AutomationFactory.GetUiEltCollection(selPatternTemp.Current.GetSelection()).ToArray();
WriteObject(this, selection);
} else {
WriteObject(this, true);
}
} catch {
}
} else {
WriteObject(this, true);
}
} else {
WriteVerbose(this, "couldn't get SelectionItemPattern");
WriteObject(this, false);
}
} catch (Exception) {
}
}