TreeView

지난 포스팅에서는 TreeView의 확장(Expand) 버튼을 클릭했을 때 이벤트를 ViewModel에서 수신받는 방법을 알아봤습니다. 이번에는 확장할 때 현재 노드(디렉토리)의 자식을 추가하는 기능을 추가합니다. 윈도우의 파일탐색기 역시 같은 방식을 사용하고 있습니다. 구현 시 고려해야 할 내용은 노드를 추가할 때 자식 노드를 가지고 있는지 미리 확인해야 한다는 점입니다. ✅TreeView: 확장 시 자식 Directory 추가 Drive 정보 프로그램 실행 시 최초에 Drive 정보를 가져와서 TreeView에 추가합니다. ExplorerMainViewModel() 의 생성자에서 이를 수행합니다. 드라이브 정보를 읽어서 TreeView에 추가하는 코드는 아래와 같습니다. private void Add..
좌측에 폴더가 표시될 TreeView에 임의로 값을 채워보겠습니다. 나중에는 폴더 정보를 읽어서 TreeView에 Binding 해줘야겠지요. 우선 ViewModel에서 Tree를 만들고 ViewModel:Tree를 TreeView에 Binding 해보겠습니다. TreeView는 HierarchicalDataTemplate이라는 조금 피곤한 Template을 사용해야 합니다. 이 Template은 TreeView, Menu에서 주로 사용하는데 부모-자식으로 이루어진 데이터구조를 처리합니다. ✅ TreeView에 Data 표시하기 다중 트리 우선 다중트리를 만들어서 트리에 값이 제대로 들어가는지 확인했습니다. [C#] - 자료구조: 다중 트리 (Multi-Tree) 자료구조: 다중 트리 (Multi-Tre..
· WPF
다른 컨트롤에 가려져 있는 컨트롤을 클릭하고 싶을 때가 있습니다. 예를 들어 Border의 Opacity를 0.1 하고 어떤 컨트롤 위에 올려서 반투명 효과를 줄 수 있지만 해당 컨트롤을 클릭하면 Border가 클릭이 됩니다. 이때 Border가 아닌 Border 아래의 컨트롤을 클릭하는 방법입니다. IsHitTestVisible UiElement 클래스의 속성으로 마우스 Hit 이벤트를 받을 것인지 설정합니다. 기본값은 True입니다. IsHitTestVisible = "True" 일 때 IsHitTestVisible = "False" 일 때 Border의 IsHitTestVisible를 False로 변경하면 Border와 겹치는 부분의 TreeViewItem도 클릭이 됩니다. ✅ IsHitTestVi..
YUNYUN3915
'TreeView' 태그의 글 목록