private AutomationElement GetPreviousDirectSibling (AutomationElement element)
{
AutomationElement parent = TreeWalker.RawViewWalker.GetParent (element);
AutomationElement prevSibling = null;
if (parent == AutomationElement.RootElement)
lock (TreeWalker.RawViewWalker.directChildrenLock) {
int prevIndex = TreeWalker.RawViewWalker.directChildren.IndexOf (element) - 1;
if (prevIndex > -1)
prevSibling = TreeWalker.RawViewWalker.directChildren [prevIndex];
else
prevSibling = null;
}
else
prevSibling = SourceManager.GetOrCreateAutomationElement (element.SourceElement.PreviousSibling);
return prevSibling;
}
#endregion