2009-06-30 7 views
5

Ich versuche, mehr über WPF zu erfahren, und ich habe ein wenig über Model-View-ViewModel (MVVM) gelesen, aber wenn ich eine WPF-App erstellen würde, würde ich aus Gewohnheit immer noch die gleichen Dinge tun wie ich es in Winforms gemacht habe. Was nach meinem Verständnis mich in eine Ecke bringen wird.Beispiel für eine Winforms-App als wpf-App implementiert?

So zu einer Art für mich zu lernen, ist der "richtige" Weg, eine bestehende, einfache winforms App zu vergleichen und zu kontrastieren, die auch (richtig) in wpf implementiert wird.

Ich bin nicht auf der Suche nach etwas Komplexem, vielleicht nur ein paar Formen und ein paar Kontrollen. Kennt jemand solche Beispiele einfach?

Antwort

4

Auschecken this video. Er durchläuft das typische Winforms-Denken und konvertiert es dann in das MVVM-Muster in WPF. Source code ist ebenfalls verfügbar.

1

Zunächst würde ich vorschlagen, ein Test-WinForms-Projekt und ein Test-WPF-Projekt zu erstellen. Fügen Sie dann eine Schaltfläche und ein Textfeld in jedes der Formulare ein und vergleichen Sie den vom Designer erstellten Code in der WinForms-App mit dem XAML in der WPF-App.

Dann können Sie auf die Schaltfläche im Designerfenster in beiden Projekten doppelklicken, und VS wird einen OnClick-Handler für Ihre Schaltfläche in WinForms und in WPF erstellen. Dadurch können Sie die Ereignisbehandlungsfunktionen beider Plattformen vergleichen.

Ein weiteres häufiges Problem, das wir in laufen, wenn wir zum ersten Mal in WPF vertiefen ist dieser:
XAML - get user control position relative to whole window as binding property
Sie wirklich schnell lernen werden, dass es eine Menge von einfachen Dingen ist, wie Lage, dass wir zu tun in verwendet werden, WinForms, die uns aber in WPF nicht mehr zur Verfügung stehen.

Abgesehen davon möchte ich nur hinzufügen, dass die größte Lernkurve mit WPF die Tatsache ist, dass die Designsequenz komplett umgekehrt ist, als wir es gewohnt sind. In WPF wird erwartet, dass Sie alle internen Funktionen Ihrer Anwendung erstellen zuerst, und binden Sie dann diesen Code an die Benutzeroberfläche Sekunde. Dies wird Sie davon abhalten, sich selbst in eine Ecke zu codieren, wie Sie es erwähnt haben, mehr als fast alles andere.

0

Haben Sie einen Blick auf die WPF-Futures auf CodePlex hier http://www.codeplex.com/wpf/Release/ProjectReleases.aspx?ReleaseId=14962 und die WPF Model-View-Viewmodel Toolkit 0.1

Installation dieses gibt Ihnen eine MVVM Vorlage in Visual Studio greifen, die Sie ein neues Projekt erstellen können.

Dies ist ein guter Ausgangspunkt für die Erstellung einer WPF-Anwendung mit MVVM. Die grundlegende Prämisse ist, dass die View (UI) und ModelView nach Möglichkeit nur über die Datenbindung kommunizieren sollten.

Ich fand diese Vorlage wirklich nützlich, während ich versuchte, meinen Kopf um WPF zu bekommen.

0

Sie können sich die WAF Windows Forms Adapter ansehen. Es präsentiert die Book Library-Beispielanwendung in WPF und Windows Forms. Beide Implementierungen verwenden das MVVM-Muster zum Trennen der Benutzerschnittstelle von der Geschäftslogik.

Verwandte Themen