2012-04-03 3 views
0

저는 아직 WPF에 대해 새롭지 만 인터넷에서 제공되는 모든 리소스 덕분에 상당히 훌륭한 (imho) 프리젠 테이션 프로그램을 만들 수있었습니다. 프로그램 작성을 시작하기 전에 MVVM 방법론을 살펴 보았지만 프로그램이 그렇게 많이 커지는 것을 예견하지 못했습니다. 너무 자세히 설명하지 않고 한쪽에는 속성 목록이 채워진 목록 상자가 있습니다. 이것은 내 SQL CE 데이터베이스 (v4.0)에 직접 바인딩되어 있으므로 속성이 변경 될 때마다 목록 상자를 새로 고쳐야합니다. Orginally이 문제가 아니었지만 지금은 드래그 앤 드롭을 통해 재 배열을 허용하므로 이것을 수행하기 위해 관찰 가능한 컬렉션의 일부 형태를 구현해야한다고 생각합니다. 미안하지만별로 의미가 없지만 수집 한 것부터 데이터베이스에 직접 객체를 재정렬 할 수는 없습니다 (현명하지도 않습니다).기존 프로젝트에 MVVM 구현

기본적으로 내 문제는 응용 프로그램에 관찰 가능한 컬렉션을 구현하는 것입니다. 즉, 기존 데이터베이스를 지속성에 사용하고 있습니까? 나는 가능한 한 그것이 관련된 일에 대해 걱정하지 않는다. 어쩌면 부분 수업을 사용할 수 있을까요? 내가 좋을 것

건배

+0

실제로 데이터베이스와 바인딩 (있는 경우)의 목록을 채우는 코드 스 니펫을 게시하십시오. –

+0

이 질문의 제목은 묻는 질문과 아무런 관련이 없습니다. ObservableCollection에 ListBox를 바인딩하면 MVVM과 아무런 관련이 없습니다. 당신은 쉽게 코드를 숨김으로써 로직을 퍼팅하는 것처럼 쉽게 또는 더 쉽게 할 수 있습니다. – kevev22

답변

1

중 하나 Caliburn 마이크로 또는 MVVM 빛을 찾고. 나는 개인적으로 CM을 사용한다.

나는 내가 ListboxBindableCollection A를 결합하는 방법을 보여주는의 bitbucket에 가지고 sample WPF 응용 프로그램 (CM의 ObservableCollection)에 추가 할 수 있습니다. BindableCollectionMyProperties을 채우는 새로 고침 버튼이 있습니다.

CM이 당신을 위해 약간의 작업을하고 있기 때문에 코드에는 그리 많지 않습니다. 나는 docs을 통해 독서를 권하고 싶습니다, 그들은 조금 길지만 가치가 충분합니다.

귀하의 경우에는 sqlce db에서 컬렉션을 채울 수 있습니다. 속성의 순서가 중요한지 아닌지 확실하지 않습니다. 드래그/드롭으로 순서를 바꾸고 순서를 유지하려는 경우

ListBox에있는 속성이 변경되면 해당 변경 사항이 ListBox에 바인딩 된 컬렉션에 반영됩니다. 당신은 그 chagnes를 DB에 지속시키고 자 할 때를 결정할 필요가 있습니다.

관련 문제