Frage

Ich lerne seit ungefähr einer Woche WPF. Und ich habe eine grundlegende Frage:

Aus der Sicht der Geschäftsansicht und der Entwicklung (außerhalb Ihrer Erfahrung). Was kann und was nicht mit WPF (Fähigkeiten) gemacht werden kann.

Bitte versuchen Sie, veranschaulichend zu sein.

Beispiele für unerwünschte Antworten:
"Voll funktionierende eigenständige Anwendungen mit einer Vielzahl von Animationen und glitzernden Bildern"

Eine zweite Frage:
Wenn ich eine XBAP -Benutzeroberfläche für meine Bewerbung baue, kann ich die Benutzeroberfläche in einem Browser "nicht zeigen"?

Wenn Sie aus Tutorials/Websites/Büchern antworten möchten. Bitte kopieren Sie sie nicht direkt einfügen. Versuchen Sie, es in Ihren eigenen Worten zu schreiben ...

War es hilfreich?

Lösung

Sie können alles, was auf der Win32 GDI/Benutzer -API (WinForms, ActiveX Controls) in einer WPF -Anwendung erstellt wurde, hosten. Selbst wenn Sie mit einer App, die größtenteils WPF ist, einschränken, können Sie immer einige alte Steuerelemente darin hosten.

Und seit 3.5 SP1 können Sie auch animierte DirectX -Grafiken ziemlich nahtlos hosten (obwohl die 3D -Unterstützung von WPF seine eigenen viel einfacheren Möglichkeiten bietet, die am häufigsten getanen Dinge zu erreichen).

Was den Vergleich betrifft, so ist der Hauptvorteil von WPF gegenüber WinForms die Art und Weise, wie er sich eng an seinem eigenen Komponentenbasis-Modell hält, sodass ein sehr großer Teil der Steuerungen als Behälter für andere Steuerungen fungieren kann. Möchten Sie ein Kombinationsfeld in einen Menüpunkt einfügen? Ich bin mir nicht sicher, warum Sie es tun würden, aber Sie können. Nutzbarer können Sie eine Schaltfläche in ein Listenfeld (oder eine Baumansicht) einfügen. Diese Art von Dingen ist nicht möglich, es sei denn, Sie implementieren jede Standardkontrolle von Grund auf (was WPF tut).

Die Nachteile sind wahrscheinlich nur vorübergehend: Auf einigen Maschinen kann es etwas instabil sein (der Rendering -Code scheint vunlerisch zu sein, um die Treiberkompatibilität anzuzeigen), aber dies wird bei jedem Servicepaket besser. Auch das Textrendering wurde stark kritisiert - es geht ein bisschen weiter mit ClearType -Anti -Aliasing als Windows, sodass einige Leute sich darüber beschweren, dass es verschwommen aussieht.

(Der Grund, warum dies wahrscheinlich vorübergehende Probleme sind, ist, dass Microsofts Visual Studio 2010 WPF einnimmt. Sie sind jetzt "ihre eigene Hundefutter essen".)

Andere Tipps

Sie können in WPF so ziemlich alles tun, was Sie von einer GUI -App benötigen. Aber das ist nicht der wahre Vorteil, IMHO.

Einer der wirklichen Vorteile von WPF ist die Entwicklungsgeschwindigkeit und Einfachheit, sobald Sie die Lernkurve überwinden (und es gibt eine Lernkurve!)

Der andere und wahrscheinlich größte wichtige Vorteil ist, dass Designer an der Präsentation arbeiten, viele interaktive Dinge tun können, die alle ein designerfreundliches (freundlicheres) Tool verwenden und keine Anfragen an die Codierer stellen müssen. Nur durch das Ändern des .xaml kann ein Designer eine Anwendung fast völlig anders aussehen und alle Arten von Verhaltensweisen hinzufügen (Paneele verschwinden, expandieren, alle Arten von ordentlichen Dingen). Ohne eine Codezeile zu ändern.

Sie können theoretisch alles in WPF tun, was Sie wollen. Vergleichen Sie es mit einer WinForms -Anwendung. Gibt es etwas, das Sie damit nicht bauen können? Nicht wirklich. Gleiches gilt für WPF. Es ist nur so, dass WPF für einige Dinge besser geeignet ist, wie Animationen, Video, Grafik usw.. Da es auf XAML basiert, eignet es sich auch besser für die Datenbank gegen XML. Siehe auch Diese verwandte Frage.

Ich bin mir nicht sicher, was Sie damit meinen. Meinst du, wenn du Websites mit WPF zeigen kannst? Ja natürlich, genau wie WinForms.

Oh, in WPF werden einige Dinge noch nicht implementiert. DataGridViews als beliebtes Beispiel befinden sich nur in der Codeplex -Vorschau. Sie haben eine Menge Dinge wie Theexpander, die auf unterschiedliche Weise arbeiten, und Sie können viele Probleme mit automatisierten Inhalten haben.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top