Heim  >  Artikel  >  Der Unterschied zwischen WPF und WinForm

Der Unterschied zwischen WPF und WinForm

(*-*)浩
(*-*)浩Original
2019-06-14 11:55:2943071Durchsuche

WinForm ist ein Name für die Windows Form in Net-Entwicklungsplattform.

WPF (Windows Presentation Foundation) ist ein von Microsoft gestartetes Windows-basiertes Benutzeroberflächen-Framework und Teil des .NET Framework 3.0. Es bietet ein einheitliches Programmiermodell, eine einheitliche Sprache und ein einheitliches Framework, wodurch die Arbeit von Schnittstellendesignern und Entwicklern wirklich getrennt wird, und bietet gleichzeitig eine neue multimediale, interaktive Benutzeroberfläche. Es handelt sich um ein von Microsoft eingeführtes Produkt, das die Arbeit von Schnittstellendesignern und Entwicklern trennen und eine multimediale, interaktive grafische Benutzeroberfläche bereitstellen kann. Die drei Kernassembly-Sets sind Presentationcore, PresentationFramework und WindowsBase >

Der Unterschied zwischen WPF und WinFormDer größte Unterschied zwischen WPF und Winform besteht darin, dass WPF DirectX auf der untersten Ebene verwendet, während Winform GDI+ auf der untersten Ebene verwendet, sodass die grafische Benutzeroberfläche von WPF überlegen ist

(empfohlenes Lernen: PHP-Video-Tutorial

)

GDI+ (Graphics Device Interface) Grafikgeräteschnittstelle, deren Hauptaufgabe darin besteht, für den Austausch und die Verarbeitung von Informationen zwischen Zeichenprogrammen verantwortlich zu sein die Grafikausgabe aller Windows-Programme

Die Multimedia-Programmierschnittstelle DirectX (Direct Extension), die 3D-Grafiken und Soundeffekte verbessert, besteht aus vielen APIs. Es kann je nach Art in vier Teile unterteilt werden: Anzeigeteil, Soundteil, Eingabeteil und Netzwerkteil

Bei der Entwicklung von WinForm-Programmen besteht eines der problematischsten Probleme darin, dass der Arbeitsthread die Eigenschaften des ändert Kontrolle, was zum Absturz des Programms führt, und dieser illegale Vorgang schlägt nicht jedes Mal fehl. Das WinForm-Steuerelement stellt die InvokeRequired-Eigenschaft bereit, um zu bestimmen, ob der aktuelle Thread der Steuerelementerstellungsthread ist. Das Problem besteht darin, dass diese Eigenschaft langsamer ist, wenn der Kontrollbaum sehr tief ist.

Beim ersten Entwurf von WPF wurde Multithreading berücksichtigt. Die meisten WPF-Klassen erben von DispatcherObject. DispatcherObject ist eigentlich eine einfache Kapselung von Dispatcher. Dispatcher stellt eine Methode (CheckAccess) bereit, die InvokeRequired ähnelt. Diese Methode vergleicht lediglich die Thread-IDs und ist daher schnell. Darüber hinaus bietet Dispatcher Prioritätswarteschlange, asynchrone Aufrufe, Timer und andere Funktionen und vereinfacht so die Entwicklung von Multithread-GUI-Programmen.

Zusammensetzung des Steuerelements

Wenn Sie ein Dropdown-Menü mit einer Checkbox in WinForm implementieren möchten, müssen Sie aufwendig vorgehen Fenstermeldungen. Durch das Inhaltsmodell- und Layoutsystem von WPF-Steuerelementen können WPF-Steuerelemente jede Art von Steuerelement enthalten, sogar .Net CLR-Objekte. Viele moderne Steuerelementhersteller bieten auch Kompositionssteuerelemente an, und die Implementierungsmethoden ähneln dem Inhaltsmodell von WPF. Das WPF-Entwicklungsteam hätte viele Ideen von Infragistics übernehmen sollen. Auf dieser Grundlage ist die Entwicklung neuer WPF-Steuerelemente einfacher.

XAML

Ich persönlich denke, dass XAML eine epochalere Sache in WPF sein sollte. Mithilfe von XAML können wir komplexe Objektdiagramme im Text beschreiben. Diese Idee gibt es bereits in VB, XAML ist jedoch vereinfacht, sodass Tools zum Generieren von XAML verwendet werden können. Durch Mechanismen wie Command und Routing Event haben Schnittstellendesigner und Programmierer relativ klare Grenzen.

Weitere technische Artikel zum Thema PHP finden Sie in der Spalte

PHP-Grafik-Tutorial

, um mehr darüber zu erfahren!

Das obige ist der detaillierte Inhalt vonDer Unterschied zwischen WPF und WinForm. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Vorheriger Artikel:Wo ist die Menüleiste?Nächster Artikel:Wo ist die Menüleiste?