public void Initialize(AutomationType selectedAutomationType) { SelectedAutomationType = selectedAutomationType; IsInitialized = true; _automation = selectedAutomationType == AutomationType.UIA2 ? (AutomationBase) new UIA2Automation() : new UIA3Automation(); _rootElement = _automation.GetDesktop(); var desktopViewModel = new ElementViewModel(_rootElement); desktopViewModel.SelectionChanged += DesktopViewModel_SelectionChanged; desktopViewModel.LoadChildren(false); Elements.Add(desktopViewModel); Elements[0].IsExpanded = true; // Initialize TreeWalker _treeWalker = _automation.TreeWalkerFactory.GetControlViewWalker(); // Initialize hover _hoverMode = new HoverMode(_automation); _hoverMode.ElementHovered += ElementToSelectChanged; // Initialize focus tracking _focusTrackingMode = new FocusTrackingMode(_automation); _focusTrackingMode.ElementFocused += ElementToSelectChanged; }
public void Initialize(AutomationType selectedAutomationType) { SelectedAutomationType = selectedAutomationType; IsInitialized = true; if (selectedAutomationType == AutomationType.UIA2) { _automation = new UIA2Automation(); } else { _automation = new UIA3Automation(); } _rootElement = _automation.GetDesktop(); var desktopViewModel = new ElementViewModel(_rootElement); desktopViewModel.SelectionChanged += DesktopViewModel_SelectionChanged; desktopViewModel.LoadChildren(false); Elements.Add(desktopViewModel); // Initialize TreeWalker _treeWalker = _automation.TreeWalkerFactory.GetControlViewWalker(); // Initialize hover _hoverMode = new HoverMode(_automation); _hoverMode.ElementHovered += ElementHovered; }
public void LoadChildren(bool loadChild) { foreach (var child in Children) { child.SelectionChanged -= SelectionChanged; } Children.Clear(); foreach (var child in AutomationElement.FindAll(TreeScope.Children, new TrueCondition(), TimeSpan.Zero)) { var childViewModel = new ElementViewModel(child); childViewModel.SelectionChanged += SelectionChanged; if (loadChild) { childViewModel.LoadChildren(false); } Children.Add(childViewModel); } }