■ TreeView 클래스의 Expanding/Collapsed 이벤트를 사용해 동적 노드 축소/확장하는 방법을 보여준다.
▶ 예제 코드 (C#)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 |
using Microsoft.UI.Xaml.Controls; // ... TreeView treeView2; // ... treeView.Expanding += treeView_Expanding; treeView.Collapsed += treeView_Collapsed; // ... #region 트리뷰 축소시 처리하기 - treeView_Collapsed(sender, e) /// <summary> /// 트리뷰 축소시 처리하기 /// </summary> /// <param name="sender">이벤트 발생자</param> /// <param name="e">이벤트 인자</param> private void treeView_Collapsed(TreeView sender, TreeViewCollapsedEventArgs e) { if(e.Node.HasUnrealizedChildren) { AddChildTreeViewNode(e.Node); } } #endregion #region 트리뷰 확장시 처리하기 - treeView_Expanding(sender, e) /// <summary> /// 트리뷰 확장시 처리하기 /// </summary> /// <param name="sender">이벤트 발생자</param> /// <param name="e">이벤트 인자</param> private void treeView_Expanding(TreeView sender, TreeViewExpandingEventArgs e) { e.Node.Children.Clear(); e.Node.HasUnrealizedChildren = true; } #endregion #region 자식 트리뷰 노드 추가하기 - AddChildTreeViewNode(parentNode) /// <summary> /// 자식 트리뷰 노드 추가하기 /// </summary> /// <param name="parentNode">부모 노드</param> private void AddChildTreeViewNode(TreeViewNode parentNode) { // 부모 노드의 자식 노드들을 추가한다. } #endregion |