2009-07-04 12 views
7

Ich arbeite an einer großen Winforms-Anwendung, die sich mit großen Datenmengen beschäftigt, die über Raster verfügbar gemacht werden. Ich sehe, dass wir uns schließlich komplett auf eine M-V-VM & WPF-Implementierung zubewegen, aber jetzt sind wir immer noch näher an einem Ball-of-Mud als irgendetwas, das losen Kopplungen ähnelt.So erleichtern Sie den Übergang von WinForms zu WPF

Während wir uns zu einer saubereren Trennung von Bedenken hin entwickeln, welche spezifischen Muster können wir implementieren, während wir noch in der WinForms-Welt sind, aber einen reibungsloseren Übergang nach dem WPF-Einbruch erzielen? Gibt es eine Anleitung zum Ausnutzen der eingeschränkten Bindung und Ereignisbehandlung von WinForms in einer Weise, die WPF/MVVM entspricht?

Antwort

4

Wir empfehlen Ihnen, Prism zu installieren, und sehen Sie sich die Beispiele an.

http://www.codeplex.com/CompositeWPF

Ich schlage vor, Sie mit einem kompletten WPF Ansatz voran zu gehen. Einige Vorschläge, wenn Sie einen WinForms Hintergrund haben, wenn Sie WPF kommen

  • 1 - Halten Sie sich an mvvm
  • 2 - Statt zu viel Event-Handler für die Kontrollen zu schreiben, binden sie Befehle (ICommand Implementierungen)
  • 3 - Versuchen Sie niemals, sich direkt mit Steuerelementen für datenbezogene Vorgänge zu befassen. Wenn Sie versuchen, einen Datensatz direkt in ein Listenfeld einzufügen
  • 4 - Vergewissern Sie sich in Ihrem View-Modell, dass Sie Collections zum Binden von Treeview, Listview usw. offen legen und Datenoperationen (Hinzufügen von Elementen, Entfernen usw.) auf Ihren Sammlungen durchführen.
  • 5 - Verwenden Sie den Hintergrund-Worker, wann immer dies möglich ist (wie für Vorgänge wie das Laden von Daten über einen Dienst).

Und schließlich lesen Sie diesen Artikel auf Code-Projekt http://www.codeproject.com/KB/WPF/winforms2wpf.aspx "Erstellen des gleichen Programms in Windows Forms und WPF" von Josh Smith.

+0

Link ist kaputt, es wird nur auf die Codeplex-Homepage umgeleitet. –

+0

Link ist repariert – amazedsaint

Verwandte Themen