현재 brownfield 응용 프로그램에서 작업하고 있습니다. winforms, 으로 작성하여 이후 버전에서 WPF를 사용할 준비를 마쳤습니다. 팀에서는 적어도 MVVM/Presentation 모델을 사용하려고합니다. 나는 아래로 비등 할 때, WPF의 가장 큰 장점은 (내가 아주 많이 사랑)이 사이트의 게시물을 포함한 주제를 탐구 한 ... 윈폼에 대해WinForms를 사용하는 MVVM/프리젠 테이션 모델
를 바인딩 :
- 컨트롤을 xaml의 속성에 바인딩합니다.
- viewmodel의 명령 개체에 명령 바인딩.
첫 번째 기능은 (코드에서) 구현하기 쉽거나 양식의 모든 컨트롤을 바인딩하는 제네릭 컨트롤 바인더로 쉽게 만들 수 있습니다.
두 번째 기능은 약간 구현하기가 어렵지만 모든 컨트롤에서 상속 받고 클릭 속성과 같은 내부 이벤트에 의해 트리거되는 명령 속성을 추가하면 ViewModel의 명령 인스턴스에 바인딩됩니다 . 내가 현재 알고 있어요
과제는 다음과 같습니다
- 가 necessery으로 명령의 CanInvoke 방법을 트리거하는 CommandManager의을 (구현
- 윈폼는 데이터 바인딩의 한 레벨을 지원합니다. 데이터 소스를, DataMember를, WPF는 훨씬 더 유연하다.
내가 윈폼은 WPF에 비해 부족 다른 주요 기능 실종, 때이 디자인 패턴을 구현하려고?
많은 사람들이 MVP 패턴을 추천 할 것이라고 확신하지만 앞으로의 WPF 지원을 원하기 때문에 MVVM/Presentation 모델이 나를위한 길입니다.
미리 감사드립니다. Erik.
ElementHost를 사용하여 새로운 WPF 컨텐트를 기존 WinForm 응용 프로그램에 드롭하는 것으로 생각하신 적이 있습니까? –
나는 어떤 점에서 아마 그렇게 할 것이다 ... DataTemplates .. 또 다른 도전 과제를 생각해 보았다. datatemlates를 사용하는 대신 usercontrol을 사용하여 내 viewmodel의 객체를 다시 바인딩한다.)) 내 결과에 관심이있는 누구든지 다음 주에 프로토 타입 작업을 시작할 것입니까? –
이 게시물은 CommandManager 구현을 찾는 사람들에게 유용 할 수 있습니다. http://stackoverflow.com/questions/1685088/binding-to-commands-in-winforms – Maciej