Willkommen auf myCSharp.de! Anmelden | kostenlos registrieren
 | Suche | FAQ

Hauptmenü
myCSharp.de
» Startseite
» Forum
» Suche
» Regeln
» Wie poste ich richtig?

Mitglieder
» Liste / Suche
» Wer ist online?

Ressourcen
» FAQ
» Artikel
» C#-Snippets
» Jobbörse
» Microsoft Docs

Team
» Kontakt
» Cookies
» Spenden
» Datenschutz
» Impressum

  • »
  • Community
  • |
  • Diskussionsforum
Text drucken aus einer WPF Anwendung heraus.
Gemelon
myCSharp.de - Member

Avatar #avatar-2549.png


Dabei seit:
Beiträge: 40
Herkunft: Regensburg / Deutschland

Themenstarter:

Text drucken aus einer WPF Anwendung heraus.

beantworten | zitieren | melden

Ich möchte einen kurzen Text (nicht RichText) der sich in einer Stringvariablen befindet, aus einer WPF Anwendung heraus, auf einem Drucker ausgeben. Ich habe einige Beispiele im Internet gefunden, die ich aber alle nicht compilieren kann, da die Namespaces System.Windows.Controls und System.Windows.Documents fehlen. Die lassen sich auch nicht einbinden, da sie auch im Reference Manager nicht vorhanden sind. Alle Beispiele die ich gefunden habe beziehen sich auf VS2010, ich arbeite aber mit VS2017. Neuere Beispiele habe ich nicht gefunden. Ich vermute dass, sich in der Zwischenzeit beim drucken etwas geändert hat, aber ich habe nicht herausgefunden was. Gibt es in zwischen eine andere Vorgehensweise beim Ausducken? Kann jemand ein Beispiel geben?
private Nachricht | Beiträge des Benutzers
Abt
myCSharp.de - Team

Avatar #avatar-4119.png


Dabei seit:
Beiträge: 15827
Herkunft: BW

beantworten | zitieren | melden

Beide von Dir genannten Namespaces brauchen keine Referenzen, sondern nur usings - sofern Du Dich bereits in einer WPF Anwendung befindest.

Dass Du keine aktuellen Informationen gefunden hast, das ist schwer nachzuvollziehen.
In der offiziellen Dokumentation von .NET findet man sehr viel dazu - zB. Drucken via XPS vom März 2017 anhand eines WPF Beispiels.

WPF - XPS Printing Overview
PS: gefunden in wenigen Sekunden via Google-Suche nach wpf print document
private Nachricht | Beiträge des Benutzers
Gemelon
myCSharp.de - Member

Avatar #avatar-2549.png


Dabei seit:
Beiträge: 40
Herkunft: Regensburg / Deutschland

Themenstarter:

beantworten | zitieren | melden

Hallo Abt,
danke für die schnelle Antwort. Das mit dem XPS hatte ich noch nicht gefunden, da ich nicht wusste das ich nach XPS suchen muss. Das sieht schon mal gut aus.
Ich hatte nur Sachen gefunden wie die ersten 3 in deinem 2. Link. Die Beispiele beziehen sich auf FlowDocument welches in einem der beiden Namespaces zu finden gewesen wäre.
Was jetzt noch fehlt ist ein PrintDialog, der ist leider nicht in System.Printing zu finden, sondern in System.Windows.Documents welcher aber nicht existiert.
Wo bekomme ich also jetzt noch so eine Dialog her?
private Nachricht | Beiträge des Benutzers
Abt
myCSharp.de - Team

Avatar #avatar-4119.png


Dabei seit:
Beiträge: 15827
Herkunft: BW

beantworten | zitieren | melden

Basics .NET:

Namespaces haben nicht direkt was mit der Visual Studio Version zutun, sondern mit der .NET (Framework) Version.

Namespaces wie System.Windows.Documents befinden sich nicht zwangsläufig in einer Assembly Namens "System.Windows.Documents.dll".
In der .NET Dokumentation steht aber genau, welche Assembly Du referenzieren musst, um auf einen gewissen Namespace zugreifen zu können.

Und wie der Dokumentation von PrintDialog zu entnehmen ist, lieger dieser im Namespace "System.Windows.Controls" aber in der Assembly "PresentationFramework.dll".
Zitat von https://docs.microsoft.com/de-de/dotnet/api/system.windows.controls.printdialog?view=netframework-4.7.2
PrintDialog Class

Namespace: System.Windows.Controls
Assembly: PresentationFramework.dll

Zitat von Gemelon
da ich nicht wusste das ich nach XPS suchen muss.

hab ich auch nicht:
Zitat von Abt
PS: gefunden in wenigen Sekunden via Google-Suche nach wpf print document

Und es gibt viele Arten, wie man Drucken kann.
Es gibt tausende Tutorials dazu, wenn ich die ersten Seiten bei der Trefferliste so anschau.
private Nachricht | Beiträge des Benutzers
Gemelon
myCSharp.de - Member

Avatar #avatar-2549.png


Dabei seit:
Beiträge: 40
Herkunft: Regensburg / Deutschland

Themenstarter:

beantworten | zitieren | melden

Hallo Abt,
jetzt hab ichs kapiert. Es hat geklappt. Man muss aber noch einige Verweise hinzufügen die alle nicht direkt mit der Namespace Bezeichnung übereinstimmen und teilweise nicht einmal eine Verwandschaft haben. Ich habe noch

PresentationCore
PresentationFramework
ReachFramework
System.Priniting
System.Windows.Presentation
und WindowsBase

benötigt.

Vielen Dank für die Hilfe!
private Nachricht | Beiträge des Benutzers