Frage

Es handelt sich um WPF-Anwendung, die Berichte erzeugt.

Berichte haben eine einfache Struktur:. Byte [] m_Data, string m_Mime

Daten-Array erstellt wird, MIME-Typ festgelegt ist, jetzt, was ich brauche ist es, den Dialog mit dem gleichen Funktionalität angezeigt werden wir in Webbrowsern finden - Öffnen / Speicher / Dialog abbrechen, die Datei in entsprechender Anwendung öffnet je nach Reaktion der MIME-Typ.

War es hilfreich?

Lösung

WPF nicht einen solchen Dialog hat, weil es nicht eine Web-Anwendung, es ist eine Anwendung lokal und mit dem Betriebssystem des nativen Einrichtungen läuft nicht HTTP.

Es sollte einfach sein, das Öffnen / Speichern / Abbrechen Dialog selbst zu schreiben, um zu schreiben, die offene Funktionalität implementieren Sie die Datei auf die Festplatte (vielleicht in das temporäre Verzeichnis von System.IO.Path.GetTempPath zurück speichern soll oder an den Dateinamen von System.IO.Path.GetTempFileName zurückgegeben).

Stellen Sie sicher, dass die Datei die richtige Erweiterung hat, da Windows-Dateierweiterungen verwendet und nicht MIME-Typen (weil Mime-Typen nicht existieren, wenn sie von Windows geschrieben).

Um die Datei zu öffnen, die Sie gerade verwendet System.Diagnostic.Process.Start erstellt, zum Beispiel diese die Datei MyPdfFile.pfd in Acrobat Reader geöffnet werden, wenn sein installiert (aus dem aktuellen Verzeichnis, vergessen Sie nicht den vollständigen Pfad schließen in Ihrem Code):

System.Diagnostics.Process.Start("MyPdfFile.pdf");
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top