탐색기구현1 - TreeView를 만들어보자! - 폼 왼쪽의 트리뷰 구현 해야할일 - 내 컴퓨터의 드라이브 목록 뽑아오기 - 윈도우가 로드되었을 때 시스템 드라이브목록 가져오기 - 노드가 확장될 때 서브 디렉토리 목록 가져와서 노드에 추가하기 1. 윈도우가 로드되었을 때 시스템 드라이브 목록 가져오기 void Window1_Loaded(object sender, RoutedEventArgs e) { // Root 드라이브 생성 foreach (string str in Directory.GetLogicalDrives()) { try { TreeViewItem item = new TreeViewItem(); item.Header = str; item.Tag = str; item.Expanded += new ..
WPF에서는 메인스레드에서 생성한 컨트롤에 다른 스레드가 접근하지 못하도록 되어있습니다.(윈폼에서도 그랬나..) 접근하려고 하면 다음과 같은 에러메시지에 직면하죠 : “다른 스레드가 이 개체를 소유하고 있어 호출한 스레드가 해당 개체에 액세스할 수 없습니다.” Dispatcher.Invoke(DispatcherPriority.Normal, new Action(delegate { lblStatus.Content = "동작중"; // 해당 소스 })); 다음과 같이 메인 Dispatcher를 통해 라벨내용을 변경시켜주시면 문제없이 돌아갑니다.
WPF에는 Canvas나 WrapPanel, Grid 등과 같은 패널들이 존재하죠 ~ 이러한 패널들을 상속받아 저만의 패널을 만들어 보는 방법을 소개합니다 ^^ Fish Eye라고 하면.. 물고기 눈이죠~ 만들고자 했던 패널은 마우스 움직임을 감지하여 마우스 주변의 아이템들의 사이즈를 늘리는 패널입니다. WrapPanel을 상속받아 사용해 보았습니다. 나름 상세한 주석을 달아놓았으니 부연설명은 필요 없을것입니다. using System; using System.Collections.Generic; using System.Windows.Controls; using System.Windows; using System.Windows.Media; using System.Windows.Input; namespac..