12) SelectionPattern, 13) SelectionItemPattern

12) SelectionPattern

SelectonPattern은 자식 요소 컬렉션을 갖고 있을 때 선택 가능한 컨테이너 컨트롤 패턴입니다. 그리고 SelectionPattern의 자식 요소는 SelectionItemPattern을 지원합니다.

System.Object
System.Windows.Automation.BasePattern
System.Windows.Automation.SelectionPattern

네임스페이스:  System.Windows.Automation
어셈블리:  UIAutomationClient(UIAutomationClient.dll)

SelectionPattern의 Current 및 Cached 속성으로 SelectionPatternInformation 구조체를 접근할 수 있습니다. 그리고 SekectionPatternInformation 구조체에는 자식 항목 여러 개를 선택할 수 있는지 여부와 최소 하나 이상의 자식 항목을 선택해야 하는지 여부를 가져오기 할 수 있는 속성을 제공합니다. 그리고 선택 상태의 자식 항목의 자동화 요소 컬렉션을 반환하는 GetSelection 멤버 메서드를 제공합니다.

public AutomationElement[] GetSelection()
속성명설명
CanSelectMultiple여러 개의 자식 항목을 선택 가능 여부
IsSelectionRequired최소 하나의 자식 항목을 선택해야 하는지 여부

[표 5.14] ScrollPatternInformation 구조체의 속성

또한 SelectionPattern 클래스에서는 식별에 사용하는 정적 멤버 필드를 제공하고 있습니다.

멤버명설명
CanSelectMultiplePropertyCanSelectMultiple속성 식별
InvalidateEvent컨테이너의 선택 영역이 크게 변경되어 무효화 한계보다 많은 추가 혹은 제거에 관한 이벤트
IsSelectionRequiredPropertyIsSelectionRequired속성 식별
PatternSelectionPattern 식별
SelectionProperty선택 항목을 자져오는 속성 식별

[표 5.15] SelectionPattern 클래스의 정적 멤버 필드

13) SelectionItemPattern

SelectionPattern 컨트롤 패턴을 지원하는 컨트롤의 자식 컨트롤에서 지원하는 패턴입니다.

System.Object
System.Windows.Automation.BasePattern
System.Windows.Automation.SelectionItemPattern

네임스페이스:  System.Windows.Automation
어셈블리:  UIAutomationClient(UIAutomationClient.dll)

SelectionItemPattern의 Current 및 Cached 속성으로 SelectionItemPatternInformation 구조체를 접근할 수 있습니다. 그리고 SelctionItemPatternInformation 구조체에는 항목이 선택 상태인지와 부모 컨테이너의 자동화 요소를 가져오기 할 수 있는 속성을 제공합니다.

속성명설명
IsSelected항목이 선택 상태인지 여부
SelectionContainer부모 컨테이너 자동화 요소

[표 5.16] SelectionItemPatternInformation 구조체의 속성

그리고 SelctionItemPattern 클래스에서는 AddToSelection, RemoveFromSlection, Select 메서드를 제공하여 프로그램 방식으로 제어할 수 있습니다.

public void AddToSelection()
public void RemoveFromSelection()
public void Select()

또한 SelectionItemPattern 클래스에서는 식별에 사용하는 정적 멤버 필드를 제공하고 있습니다.

멤버명설명
ElementAddedToSelectionEvent컬렉션에 항목이 추가할 때의 이벤트
ElementRemovedFromSelectionEvetnt선택한 항목을 제거할 때의 이벤트
ElementSelectedEventSelect,AddToSelection, RemoveFromSelection 호출 결과로 하나의 항목만 선택 상태일 때
IsSelectedPropertyIsSelected 속성 식별
PatternSelectionItemPattern 식별
SelectionContainerPropertySelectionContainer 속성 식별

[표 5.17] ScrollPattern 클래스의 정적 멤버 필드