Visual Studio WPF hat keine Referenz

TresPuntos

Cadet 4th Year
Registriert
Juni 2018
Beiträge
113
Hallo,

ich wollte meine WindowsForms durch eine WPF austauschen, da diese optisch besser für die Anwendung geeignet ist. Allerdings hat der Konstruktor meiner WPF bereits am Anfang keine Referenz. Wie kann ich dieses Problem lösen?
1534405465676.png
 
Hi,

WPF hat erstmal nur bedingt etwas mit "schöne Oberfläche" zu tun, das ist ein völlig anderes Programmierprinzip, Stichwort "Trennung von Präsentation und Businesslogik".

Was genau tritt denn wann genau für ein Fehler auf? Der Screen ist nichtssagend...

VG,
Mad
 
Bin von der Windows Forms daran gewöhnt Verweise zu erhalten sobald ich einen Button etc einfüge. Allerding klappt das ganze auch ohne Verweis
 
Hi,

hilft mir nach wie vor nicht weiter, was genau du jetzt möchtest...

Und nochmal: WPF ist nicht "WinForms in schön / neu" sondern ein komplett anderer Ansatz (XAML, MVVM vs. CodeBehind etc)...

VG,
Mad
 
Hi,

Das Problem vorher hat sich erledigt.
Ich bin kein großer Programmierkönig, deswegen wollte ich die mal Fragen, was du genau mit großen Unterschiede zwischen WinForms und WPF meinst. Welches der beiden würdest du mir als Neuling dann eher empfehlen? Mir wurde bei einer anderen Frage nämlich empfohlen auch WPF umzusteigen, weil es modernen und besser ist.

Grüße
 
Hi,

sofern du dich vernünftig mit den Grundlagen auseinandersetzt, Windows als Entwicklungsziel gesetzt ist und es eine .NET Sprache sein soll würde ich WPF empfehlen. Der Trennungsansatz ist in meinen Augen einfach "richtiger". Aber das ist persönliche Präferenz und ganz stark vom Projekt und dessen Umfang / Komplexität abhängig.

VG,
Mad
 
  • Gefällt mir
Reaktionen: TresPuntos
Wenn ich mich recht erinner, kannst Du doch im Form einfach mit this.ControlName auf die Controls zugreifen oder nicht? Aber wie gesagt, in der Regel wird das zu schlechten Code führen, der Ansatz von WPF ist ein anderer, da muss man sich aber drin einarbeiten.

So wie ich das sehe, ist der Elan dazu nicht unbedingt da, Spaghetti Code wird bei beiden Technologien rauskommen, wenn man keine Erfahrung hat und sich nicht damit beschäftigen will.
 
Solltest du mit denn Programmieren Anfangen, und dich für Windows als Basis Plattform entschieden haben, kann ich dir nur empfehlen dich mit den Konzepten von WPF und UWP dich auseinanderzusetzen bei der Programmiersprache in DotNet solltest du auf C# setzen, schließlich wurde WPF mit C# eingeführt und bietet gegen über WinForms einige Verbesserungen mit sich, vergiss nicht das Microsoft WinForms nicht mehr Weiterentwickelt, ist nur für die alten Hasen.

Je nach deiner Anwendung musst du beträchtlichem Portierungsaufwand
rechnen, da bei WPF gänzlich ein anderes Konzept zum Einsatz kommt.
Eine Teilmigration deiner Anwendung von WinForms zur WPF wird von Microsoft unterstützt, durch das WindowsFormsHost -Control. So kannst du Teile von WinForms in WPF nutzen, das Gegenstück ist das ElementHost-Control damit kannst du Teile von WPF in WinForms nutzen.

Einige kurze Liste der Highlights:

1.) Codebehind-Modell, ähnlich wie bei ASP.NET-Anwendungen,
2.) Strikte Trennung von Design und Logik,
3.) Desktop- (Fenster-basiert) oder Browser-Anwendung (Seiten-basiert) möglich,
4.) vektorbasierte Grafikausgabe (Fließkomma-Arithmetik), damit frei skalierbare Oberflächen
unabhängig vom Ausgabegerät,
5.) schnelle Grafikausgabe dank Hardwarebeschleunigung und Ausgabe per DirectX,
6.) umfangreiche Unterstützung für 2D- und 3D-Grafik,
7.) hervorragende Layout-Optionen für Texte und Steuerelemente,
8.) umfangreiche Unterstützung für Grafik-Effekte (Schatten, Transparenz, Rotation, Scherung
etc.) bei der Oberflächengestaltung,
9.) komplexe grafische Animationen für Elemente,
10.) Unterstützung von Medien (Videos, Bilder, Audio),
11.) einfache Datenbindung für fast alle Eigenschaften möglich
12.) ClickOnce oder XCopy-Deployment,
13.) teilweise Abwärtskompatibilität durch Windows Forms-Integration.

Vergiss nicht ein Verweis im Namensraum (Using) und denn im Assembly wenn du eine Teilmigration vornehmen willst, das Bild Sagt nichts aus, das ist der Standard Code der in der Code Behind angelegt wird, wenn man in der XAML Datei ein Click Event eines Button hinzufügt ohne X:Name.
 
  • Gefällt mir
Reaktionen: TresPuntos
Zurück
Oben