2009-05-29 8 views

Antwort

2

Wenn es darum geht, was Sie grafisch tun können, der einzige Unterschied zwischen den beiden ist, dass XBAP BitmapEffects nicht verwenden kann. Abgesehen davon sind die Sandbox-Sicherheitsprobleme die einzigen Dinge, mit denen Sie umgehen müssen. Die meisten reinen WPF-Programme sollten reibungslos übergehen.

Überprüfen Sie diese comparison of the differences between WPF and XBAP.

Hier ist ein tutorial for creating an XBAP application.

Auf dieser Grundlage gibt es einen ziemlich einfachen Refactor, den Sie tun können, um sowohl WPF als auch XBAP für Ihr Programm unterzubringen.

  • Zuerst alle Ihres WPF-Code in bewegt ein DLL-Projekt getrennt von der Kern WPF-EXE-Projekt. Verweisen Sie dieses Projekt in Ihrem WPF-Kernprojektprojekt.
  • Ändern Sie die App.xaml des EXE-Projekts so, dass sie auf Ihre Hauptseite von Ihrem .dll Projekt zeigt.
  • Erstellen Sie ein neues XBAP-Projekt.
  • Referenz des oben in Ihrem XBAP Projekt
  • ändern Sie das XBAP-Projekt App.xaml erwähnte DLL-Projekt auf die Hauptseite von DLL-
  • Veröffentlichen und führen zu zeigen.
+0

Danke Randolpho, das ist großartig, aber ich bekomme einen Fehler, wenn ich versuche, ein "Window" statt "Page" in xbap zu verwenden. Bedeutet das, dass ich kein Window-Objekt in xbap verwenden kann? –

+0

Leider ist das eine der Einschränkungen - keine modalen Fenster in XBAP. – Randolpho

+0

AFAIK können Sie modale Fenster in XBAP verwenden, aber sie werden "untergeordnete Fenster" genannt. –

0

Ja, wir können Windows in XBAP verwenden. Das erste Objekt muss jedoch eine Seite sein, da die Seite im Browser angezeigt wird. Sie können einen Knopf auf die Seite setzen und Ihr Fenster daraus öffnen.