-
WPF Drag, Drop이 되는 ListBoxC#/WPF 2018. 2. 27. 09:45
이전 포스트(2018/01/30 - [C#/WPF] - WPF 한 ListView(ListBox)에서 Drag Drop)에서
ListBox에 Drag & Drop이 가능하도록 해보았었습니다.
하지만 단일 Item 만 Drag & Drop이 가능했었던 점, Drop이 될 위치가 보이지 않는 점 등 굉장히 기초적인 내용이였습니다.
이제 위에 서술된 내용 + 자잘한 내용등을 수정하여 재사용이 가능한 사용자 정의 컨트롤을 만들었습니다.
※ ListBox 의 Item 내용은 유일(Unique)해야 합니다. (Remove 관련)
※ Item을 꼭 GGData형으로 할 이유는 없으며, GGData 내부 Item의 형을 바꾸셔도 되고,
GGData형을 사용하지 않을 경우 cs파일에서 GGData를 원하는 형으로 바꾸시면 됩니다. (ex. string)
(GGData는 재사용성을 위해 만든 것이기 때문입니다.)
※ ListBox의 Remove, Insert를 사용하기 때문에 ItemsSource를 사용할 수 없습니다.
간단한 예제 프로젝트를 GitHub에 올려놓았으며 ListBoxDD_GiGong (GitHub)
위의 xaml파일, cs파일을 사용하시려는 프로젝트에 포함 시키신 뒤 사용하시면 됩니다.
(한번은 빌드를 하신 후 사용하시는 걸 권장)
※ ListBox말고 ListView로 바꾸셔도 그대로 작동합니다.
ListBox로서 추가적인 기능이 필요하시면 수정하셔서 사용하시면 됩니다.
또한 Drag Drop관련 버그, 개선사항을 찾으시면 댓글로 남겨주세요!
'C# > WPF' 카테고리의 다른 글
WPF WindowStyle None 최대화 시 작업 표시줄 보이게 하기 (0) 2018.04.26 WPF System Menu 불러오기 (0) 2018.04.26 WPF ListView(ListBox) 드래그 하는 중 스크롤 (0) 2018.01.31 WPF 한 ListView(ListBox)에서 Drag Drop (2) 2018.01.30 WPF 새 윈도우 위치 지정 (2) 2018.01.05 댓글