Laden...

Dynamisches XAML

Erstellt von angelina vor 14 Jahren Letzter Beitrag vor 14 Jahren 3.110 Views
A
angelina Themenstarter:in
14 Beiträge seit 2008
vor 14 Jahren
Dynamisches XAML

Hallo,
ich muss eine Visualisierung(3D) von Fertigungsdaten, welche in einem XML-Dateiformat zur Verfügung stehen machen.
Und ich habe mich entschlößen, das ganze mit WPF-Anwendung zu realisieren. Allerdings hatte ich schon vorher ein Programm in WinForms-Anwendung geschrieben, welche alle diese Daten aus XML schon ausliest, deswegen, habe ich mir gedacht, dass es sinnvoller wird weiter in dem Projekt zu arbeiten, was ich auch gemacht habe.

Also alle Klassen die das Model aus XML datei beschreiben habe ich dem Projekt in WinForms angehengt, mit Gedanken , dass ich eine XAML dann dynamisch in das Projekt lade und das ganze wird laufen. Aber jetzt bin ich mir ganz und gar nicht sicher, dass es so funktioniert. Könnt ihr mir vielleicht weiter helfen, wie lade ich eine dynamische Xaml in das Projekt rein??????

Oder muss ich da anders vorgehen.
Ich bedanke mich schon in vorraus))).

A
angelina Themenstarter:in
14 Beiträge seit 2008
vor 14 Jahren

ok, um das ganze verständlicher zu machen, so wie es assieht muss ich dem Projekt WinForm eine neue WPF-Anwendung anhengen und danach XAML dynamisch laden.
Hat jemand sowas schon gemacht, vielleicht könnt ihr mir da weiter helfen, irgendwie henge ich an dieser Stelle schon seit ein paar Tagen und kriege nichts gebacken((((((((

L
862 Beiträge seit 2006
vor 14 Jahren

Also um XAML dynamisch zu laden kannst du den XamlReader benutzen.
Ich frage mich allerdings ob das jetzt sinnvoll ist. Wenn du die Model-Klassen schon hast die XML laden wieso bindest du diese nicht in ein neues WPF-Projekt ein und schreibst dir eine View welche dir das ganze 3dimensional anzeigt? Modelklassen sollten ja unabhängig von WinForms/WPF sein.
Direkt WPF-Objekte im Code zu erzeugen sollten wohl einfacher sein als XAML welcher dann deserialisiert wird.

A
angelina Themenstarter:in
14 Beiträge seit 2008
vor 14 Jahren

Danke, ja ok, wenn ich jetzt anders vorgehe, dann habe ich immer noch das Problem, dass ich WPF Anwendung nicht an WinForms anhengen kann((((

L
862 Beiträge seit 2006
vor 14 Jahren

Wie man WPF-Controls in WinForms einbindet weis ich auch nicht.
Du kannst eine WPF-Anwendung per Process.Start unter WinForms starten.

Ich rate jedoch von WinForms/WPF MischMasch ab. Mache ein neues WPF-Projekt binde dort bestehende Non-GUI-Klassen aus deinem alten Projekt ein und schreibe in WPF die GUI neu.

Wenn der Aufwand zu groß ist würde ich einfach bei WinForms bleiben. Allerdings ist es dort wesentlich umständlicher 3D-Innhalt zu rendern da du erst das DirectX-Framework einbinden und eine kleine 3D-Engine aufsetzen musst.
Unter WPF kannst du einfach einen Viewport3D nehmen und deine 3D-Objekte reinstecken.

72 Beiträge seit 2008
vor 14 Jahren

*doppelt*

72 Beiträge seit 2008
vor 14 Jahren

Nicht so kompliziert denken.

Im WinForms Projekt erstellst Du Dir ein WinForms User Control welches einen ElementHost beinhaltet. Dann noch ein WPF User Control mit einem ViewPort. Nun das WPF User Control dem ElementHost zuweisen und du hast deine Visualisierungsoberfläche.

Mein Empfehlung wäre, daß Du die XML Daten in XAML extern konvertierst und dann via XAML Reader einliest. Wie das bei Google Sketchup Modellen gemacht werden kann habe ich hier mal beschrieben:

http://www.vbarchiv.net/forum/read.php?f=10&i=61389&t=61389

ist zwar VB.Net aber die paar Funktionen sind schnell konvertiert.

Der Link zum Flux Studio hat sich allerdings geändert:
http://mediamachines.wordpress.com/