public virtual bool SupportsProperty (AutomationProperty property)
{
if ((property.Id == AutomationElementIdentifiers.IsControlElementProperty.Id) ||
(property.Id == AutomationElementIdentifiers.ControlTypeProperty.Id) ||
(property.Id == AutomationElementIdentifiers.IsContentElementProperty.Id) ||
(property.Id == AutomationElementIdentifiers.LabeledByProperty.Id) ||
(property.Id == AutomationElementIdentifiers.AutomationIdProperty.Id) ||
(property.Id == AutomationElementIdentifiers.IsPasswordProperty.Id) ||
(property.Id == AutomationElementIdentifiers.LocalizedControlTypeProperty.Id) ||
(property.Id == AutomationElementIdentifiers.NameProperty.Id) ||
(property.Id == AutomationElementIdentifiers.AcceleratorKeyProperty.Id) ||
(property.Id == AutomationElementIdentifiers.AccessKeyProperty.Id) ||
(property.Id == AutomationElementIdentifiers.HasKeyboardFocusProperty.Id) ||
(property.Id == AutomationElementIdentifiers.IsKeyboardFocusableProperty.Id) ||
(property.Id == AutomationElementIdentifiers.IsEnabledProperty.Id) ||
(property.Id == AutomationElementIdentifiers.BoundingRectangleProperty.Id) ||
(property.Id == AutomationElementIdentifiers.ProcessIdProperty.Id) ||
(property.Id == AutomationElementIdentifiers.RuntimeIdProperty.Id) ||
(property.Id == AutomationElementIdentifiers.HelpTextProperty.Id) ||
(property.Id == AutomationElementIdentifiers.ClickablePointProperty.Id) ||
(property.Id == AutomationElementIdentifiers.IsOffscreenProperty.Id) ||
(property.Id == AutomationElementIdentifiers.OrientationProperty.Id) ||
(property.Id == AutomationElementIdentifiers.FrameworkIdProperty.Id))
return true;
if (property.Id == ExpandCollapsePatternIdentifiers.ExpandCollapseStateProperty.Id)
return SupportsExpandCollapse ();
if ((property.Id == GridItemPatternIdentifiers.RowProperty.Id) ||
(property.Id == GridItemPatternIdentifiers.ColumnProperty.Id) ||
(property.Id == GridItemPatternIdentifiers.RowSpanProperty.Id) ||
(property.Id == GridItemPatternIdentifiers.ColumnSpanProperty.Id) ||
(property.Id == GridItemPatternIdentifiers.ContainingGridProperty.Id))
return SupportsGridItem ();
if ((property.Id == GridPatternIdentifiers.RowCountProperty.Id) ||
(property.Id == GridPatternIdentifiers.ColumnCountProperty.Id))
return SupportsGrid ();
if ((property.Id == RangeValuePatternIdentifiers.ValueProperty.Id) ||
(property.Id == RangeValuePatternIdentifiers.IsReadOnlyProperty.Id) ||
(property.Id == RangeValuePatternIdentifiers.MinimumProperty.Id) ||
(property.Id == RangeValuePatternIdentifiers.MaximumProperty.Id) ||
(property.Id == RangeValuePatternIdentifiers.SmallChangeProperty.Id))
return SupportsRangeValue ();
if ((property.Id == SelectionItemPatternIdentifiers.IsSelectedProperty.Id) ||
(property.Id == SelectionItemPatternIdentifiers.SelectionContainerProperty.Id))
return SupportsSelectionItem ();
if ((property.Id == SelectionPatternIdentifiers.SelectionProperty.Id) ||
(property.Id == SelectionPatternIdentifiers.CanSelectMultipleProperty.Id) ||
(property.Id == SelectionPatternIdentifiers.IsSelectionRequiredProperty.Id))
return SupportsSelection ();
if ((property.Id == TablePatternIdentifiers.RowHeadersProperty.Id) ||
(property.Id == TablePatternIdentifiers.ColumnHeadersProperty.Id))
return SupportsTable ();
if (property.Id == TogglePatternIdentifiers.ToggleStateProperty.Id)
return SupportsToggle ();
if ((property.Id == ValuePatternIdentifiers.ValueProperty.Id) ||
(property.Id == ValuePatternIdentifiers.IsReadOnlyProperty.Id))
return SupportsValue ();
if ((property.Id == TableItemPatternIdentifiers.RowHeaderItemsProperty.Id) ||
(property.Id == TableItemPatternIdentifiers.ColumnHeaderItemsProperty.Id))
return SupportsTableItem ();
return false;
}