/// <summary> /// Provides a value for UIAutomation's SizeOfSet property /// Reads <see cref="AutomationProperties.SizeOfSetProperty"/> and returns the value if one was provided, /// otherwise it attempts to calculate one. /// </summary> override protected int GetSizeOfSetCore() { int sizeOfSet = AutomationProperties.GetSizeOfSet(_owner); if (sizeOfSet == AutomationProperties.AutomationSizeOfSetDefault) { // If a value has been set for <see cref="UIElement.PositionAndSizeOfSetController"/> // forward the call to that element, otherwise return the default value. UIElement element = _owner.PositionAndSizeOfSetController; if (element != null) { AutomationPeer peer = UIElementAutomationPeer.FromElement(element); peer = peer.EventsSource ?? peer; if (peer != null) { try { sizeOfSet = peer.GetSizeOfSet(); } catch (ElementNotAvailableException) { sizeOfSet = AutomationProperties.AutomationSizeOfSetDefault; } } } } return(sizeOfSet); }
/// <summary> /// Provides a value for UIAutomation's SizeOfSet property /// Reads <see cref="AutomationProperties.SizeOfSetProperty"/> and returns the value. /// </summary> override protected int GetSizeOfSetCore() { return(AutomationProperties.GetSizeOfSet(_owner)); }