Eigentlich habe ich angefangen WPF zu lernen. Ich habe einige Monate Erfahrung in der Entwicklung von Windows Forms-Anwendungen. Obwohl ich die Bedeutung einer WPF-Anwendung verstehe, bin ich immer noch nicht in der Lage, den Unterschied zwischen zwei auf der Grundlage ihrer Ausgabe zu unterscheiden.
In Bezug auf diese Link: Device Independent Pixel (DPI) habe ich gelernt, dass das Betriebssystem, wenn es eine WPF-Anwendung rendert, seine Größe selbst entsprechend seiner Auflösung verwaltet.
Um diesen Unterschied zu überprüfen, habe ich zwei Demo-Anwendungen in beiden Frameworks erstellt und die Auflösung geändert. Aber ich habe keinen befriedigenden Unterschied gefunden. Was könnte erklären, es ist eine WPF-Anwendung und das ist eine Windows Forms-Anwendung.
Es erzeugt keine Bildlaufleiste beim Maximieren und macht die Schaltfläche nicht groß oder klein beim Ändern der Auflösung.
Ich habe irgendwo gelesen, dass Visual Studio 2010 in WPF neu geschrieben wurde. Aber in meinen Experimenten sah ich, dass (bei Änderung der Auflösung des Desktops) Text und Grafiken unlesbar / unscharf werden. Bei der Größenanpassung seines Fensters wurde alles außer der Menüleiste ausgeblendet. Und der Inhalt der Menüleiste änderte seine Positionierung, z. Ganz rechts rutschte ein Menü herunter. Warum?
Bitte machen Sie mich richtig & amp; erkläre auch ein wenig mehr (dieses Display-Problem).
Um diese Frage richtig zu beantworten, muss ich vielleicht ein ganzes Kapitel hier schreiben, aber ich halte es kurz. Von dem, was ich bisher gelernt habe, gibt es drei Hauptunterschiede zwischen einer WPF-Anwendung und einer Windows Forms-Anwendung.
Hier erfahren Sie mehr über Layouts. >
Rendern: Probieren Sie ein Raster mit 30x30 TextBoxen in einer Windows Forms-Anwendung und einer WPF-Anwendung aus. Egal wie unordentlich Sie das WPF schreiben, es ist immer noch viel schneller als Windows Forms und es wird nicht für eine Sekunde blinken, wenn Sie es richtig schreiben. Stellen Sie sich eine Handvoll Animationen, Effekte, Trigger und Hierarchie von Stilen vor, die immer noch viel schneller sind als Windows Forms.
double
type für Sizings und daher können Sie die Kanten manchmal verschwommen sehen, aber es kann vermieden werden (SnapToDevicePixels).
Anmerkung: Um zu verhindern, dass in einer Windows Forms-Anwendung die Geschwindigkeit abnimmt und blinkt, sollten Sie DoubleBuffer des Formulars auf "true" setzen. Das letzte und wichtigste: Präsentation im Fokus: Das mag etwas seltsam erscheinen, aber wenn Sie WPF wählen, müssen Sie aufhören, in Windows Forms zu denken (zahlreiche Ereignisse) und steuert mit Namen und viel Code dahinter) und fangen an, in WPF zu denken (Binding, Commands, Resources, Styles, Templates, Converters, DependencyProperties und deren Callbacks).
Wenn Sie vorhaben, zu WPF zu wechseln, haben Sie die richtige Entscheidung getroffen. Halten Sie sich immer an den Plan! Vermeiden Sie Code hinter (Kodierung in .xaml.cs Dateien), XAML Namen (außer nur in XAML) und UI-Ereignisse so viel wie möglich. Nutze stattdessen WPF-Fähigkeiten.
Windows Forms (WinForms) und Windows Presentation Foundation (WPF) sind zwei verschiedene Möglichkeiten zum Erstellen der Benutzeroberfläche für Ihre Anwendung. Windows Forms ist die ältere Technologie und ihre Steuerelemente befinden sich in System.Windows.Forms namespace
. WPF ist eine neuere Technologie und ihre Steuerelemente befinden sich im Namespace System.Windows.Controls
.
WPF
Pros:
Nachteile:
Windows Forms
Pros:
Nachteile: