99
1010namespace Files . App . Controls
1111{
12+ /// <summary>
13+ /// Exposes <see cref="SidebarItem"/> types to Microsoft UI Automation.
14+ /// </summary>
1215 public sealed partial class SidebarItemAutomationPeer : FrameworkElementAutomationPeer , IInvokeProvider , IExpandCollapseProvider , ISelectionItemProvider
1316 {
1417 public ExpandCollapseState ExpandCollapseState
@@ -17,6 +20,7 @@ public ExpandCollapseState ExpandCollapseState
1720 {
1821 if ( Owner . HasChildren )
1922 return Owner . IsExpanded ? ExpandCollapseState . Expanded : ExpandCollapseState . Collapsed ;
23+
2024 return ExpandCollapseState . LeafNode ;
2125 }
2226 }
@@ -27,7 +31,7 @@ public ExpandCollapseState ExpandCollapseState
2731
2832 public SidebarItemAutomationPeer ( SidebarItem owner ) : base ( owner )
2933 {
30- this . Owner = owner ;
34+ Owner = owner ;
3135 }
3236
3337 protected override AutomationControlType GetAutomationControlTypeCore ( )
@@ -49,28 +53,22 @@ protected override object GetPatternCore(PatternInterface patternInterface)
4953 else if ( patternInterface == PatternInterface . ExpandCollapse )
5054 {
5155 if ( Owner . CollapseEnabled )
52- {
5356 return this ;
54- }
5557 }
58+
5659 return base . GetPatternCore ( patternInterface ) ;
5760 }
5861
5962 public void Collapse ( )
6063 {
6164 if ( Owner . CollapseEnabled )
62- {
6365 Owner . IsExpanded = false ;
64- }
6566 }
6667
6768 public void Expand ( )
6869 {
69-
7070 if ( Owner . CollapseEnabled )
71- {
7271 Owner . IsExpanded = true ;
73- }
7472 }
7573
7674 public void Invoke ( )
@@ -106,13 +104,11 @@ protected override int GetPositionInSetCore()
106104 private IList GetOwnerCollection ( )
107105 {
108106 if ( Owner . FindAscendant < SidebarItem > ( ) is SidebarItem parent && parent . Item ? . Children is IList list )
109- {
110107 return list ;
111- }
108+
112109 if ( Owner ? . Owner is not null && Owner . Owner . ViewModel . SidebarItems is IList items )
113- {
114110 return items ;
115- }
111+
116112 return new List < object > ( ) ;
117113 }
118114 }
0 commit comments