Class TreeItemAccessibilityPeer

Namespace
Forma
Assembly
Forma.dll

One visible row of a Tree.

public sealed class TreeItemAccessibilityPeer : AccessibilityPeer
Inheritance
TreeItemAccessibilityPeer
Inherited Members

Remarks

A TreeItem is data the tree draws, not a control, so without this a tree is an empty node with a scrollbar. That is worse than it sounds for a navigation tree, which is usually the only way into the rest of an application: everything behind it becomes unreachable rather than merely unannounced.

Properties

Actions

Select and Focus, plus Expand or Collapse for a row that has children.

public override AccessibilityActions Actions { get; }

Property Value

AccessibilityActions

AutomationId

Always empty: a row is data rather than a control.

public override string AutomationId { get; }

Property Value

string

Bounds

The row's rectangle in global coordinates.

public override Rectangle Bounds { get; }

Property Value

Rectangle

Children

Always empty. Child rows are published as siblings, because the tree already flattens them into the order they are drawn and a snapshot is a flat list.

public override IReadOnlyList<AccessibilityPeer> Children { get; }

Property Value

IReadOnlyList<AccessibilityPeer>

Id

This row's own identity, distinct from the tree's.

public override int Id { get; }

Property Value

int

IsVirtual

Always true: a row is drawn by the tree rather than built as a control.

public override bool IsVirtual { get; }

Property Value

bool

Item

The row this peer describes.

public TreeItem Item { get; }

Property Value

TreeItem

Name

The row's text in the first column, which is what is announced.

public override string Name { get; }

Property Value

string

Role

Always TreeItem.

public override AccessibilityRole Role { get; }

Property Value

AccessibilityRole

States

Selected, Current, Expanded or Collapsed, and Disabled for an unselectable row.

public override AccessibilityStates States { get; }

Property Value

AccessibilityStates

Value

Always empty: a row's text is its name, not a value.

public override string Value { get; }

Property Value

string

Methods

Invoke(AccessibilityActions, object)

Acts on this row rather than on the tree.

public override bool Invoke(AccessibilityActions action, object argument = null)

Parameters

action AccessibilityActions
argument object

Returns

bool