DataGrid
을 사용하는 MVVM 기반 WPF 응용 프로그램에서 작업하고 있습니다. 표는 ObservableCollection<Widget>
(Widget
목록)에 데이터 바인딩됩니다. 사용자는 현재 선택된 Widget
아래의 목록에 Widget
을 삽입하고, 선택된 Widget
을 삭제하고, 그리드의 Widget
을 재정렬 할 수 있어야합니다. 끌어서 놓기를 통해 재정렬을 구현합니다.WPF DataGrid 모범 사례?
내가 이것을 파고 들기 전에, 나는 나의 접근법에 대해 현실적인 점검을하고 싶다. 내가하고자하는 것은 다음과 같습니다. Widget
클래스는 Index
속성을 사용하여 Widget
목록을 주문합니다. 추가, 삭제 및 재정렬은이 Index 속성을 조작하여 수행되며 정렬은 CollectionView
이 아닌 Widget
목록에서 수행됩니다.
DataContext
이 설정되기 전에 Widget
목록은 Index
속성으로 정렬됩니다. 사용자가 Widget
을 추가하면 Index
속성은 그리드에서 선택된 항목 아래의 각 Widget
에 대해 1 씩 증가하며 새로 번호가 매겨지면서 열리는 인덱스 번호는 Widget
입니다. Widget
목록이 사용되며 바인딩이 새로 고쳐집니다.
사용자가 Widget
을 삭제
Widget
목록에서 제거 및
Widget
목록에 의존 할 것이다 항목의
Index
특성 (1)에 의해 감소 될 삭제 된 항목 아래의 그리드에, 그리고 바인딩을 새로 고쳐집니다 , 위와 같이. 재정렬은 조합 삭제 및 삽입으로 수행됩니다.
제 질문은 삽입, 삭제 및 재정렬을 구현하기위한 합리적인 전략입니까? 그것에 대해 갈 수있는 더 좋은 방법이 있습니까? 주제에 대한 좋은 기사 또는 블로그 게시물? 나는 보았다. 그러나 나는 온 - 포인트를 생각해 내지 못했다.
도움 주셔서 감사합니다.
Sory, 질문하지 않은 질문을 실제로 언급하지 않습니다. 나는 접근 방식에 대한 피드백을 찾고 있는데, 팁 글라이드 정렬이 아닙니다. –