logo
small logo
  • Produkte
  • Shop
  • Support
  • Articles
  • Customer panel Support
    • en
    • pt
    • es
    • de
    • pl
    • JP
    • ZH
  • Home
  • /
  • Articles
  • /
  • FastReport.Net in WPF Anwendungen verwenden
  • Wie man einen Beleg aus einem WPF-Programm ausstellt

    17. August 2020

    Ich denke, dass jeder WinForms-Entwickler auf die Idee gekommen ist, dass die Standard-Form-Steuerelemente zu einheitlich

    read more
  • Die FastReport Familie der Reportgeneratoren - kurze Overview

    23. März 2020

    Reporting – ein wichtiges Bereich, ohne es Aktivitäten im Alltagsleben richtig schwer vorzustellen. Bürokratie ist

    read more
  • Die Events PreviewControl.OnPrint und PreviewControl.OnExport

    1. Oktober 2020

    FastReport 2019.4 bietet eine Möglichkeit, die Events PreviewControl.OnPrint und PreviewControl.OnExport zu steuern, die direkt aufgerufen

    read more
  • Verbindung zu Elasticsearch

    10. November 2021

    FastReport .NET-, Core-, Mono-, OpenSource-Produkte können jetzt eine Verbindung zu Elasticsearch herstellen. Elasticsearch ist ein

    read more
  • Toilettenpapier drucken

    30. März 2020

    Meine Herren, Scherz beiseite! Heute sprechen wir über Toilettenpapier. Dieses unverzichtbare Hygieneprodukt wurde erst im

    read more

FastReport.Net in WPF Anwendungen verwenden

21. August 2017

In diesem Artikel geht es die Verwendung von Windows Forms Controls für FastReport .Net in WPF Anwendungen (Windows Presentation Fundation). Es ist möglich, wenn man Hosts verwendet. Zum Beispiel WindowsFormsHost – die Komponente für die Darstellung von WindowsForms Controls in der WPF Anwendung.

Zuerst erstellen wir ein WPF Projekt und fügen FastReport.dll in Reference hinzu.

Auf die Hauptform ziehen wir die Componente Button aus der Instrument-Pallete. In Properties nennen Ihr Caption als Run Report Designer:

 

Auch erstellen wir noch eine Taste mit dem Text Run Report Preview:

Jede Taste startet eine andere Form. Auf der ersten Form platzieren wir die Komponente Designer und auf zweiter Form - Preview. Wir fügen auch ein neues Fenster. Dazu klicken wir mit rechter Maus-Taste auf den Projekt-Namen im Solution-Browser. Aus dem Kontext-Menü wählen wir Add->Window und nennen neues Fenster als Designer.xaml.

Analog fügen wir auch ein neues Fenster hinzu und nennen es als Preview.xaml.

Jetzt zum Designer.xaml. Beim Verwenden vom Drug-and-Drop ziehen wir auch eine Komponente  WindowsFormsHost von der Instrumenten-Palette auf die Form hinein.

 

So sieht sie aus:

 

Unbedingt braucht man den Namen dieser Komponente in Properties. Default ist er leer. Ich nenne sie WindowsFormsHost1.

 

Unten des Fensters von Studio sieht man den xml Code der Schablone. Wir interessieren uns für den Code von hinzugefügter Komponente:

1
2
3
4
5
…
 <Grid>
 <WindowsFormsHost x:Name="WindowsFornsHost1" HorizontalAlignment="Left" Height="100" Margin="10,10,0,0" VerticalAlignment="Top" Width="100"/>
 </Grid>
…

Wie wir sehen, gibt es da viele Attributes, die für die Komponente-Platzierung verantwortlich sind. Wir löschen alle, außer den Namen:

1
2
3
<Grid>
 <WindowsFormsHost x:Name="WindowsFornsHost1" />
 </Grid>

Jetzt besitzt die Komponente das ganze Fenster:

 

Wir öffnen den Coden-Editor für dieses Fenster (mit der rechten Maus-Taste auf der Form - ViewCode).

Weiter aktivieren wir die Bibliothek FastReport:

1
using FastReport;

In der Klasse der Form erstellen wir das Exemplar des Objekts DesignerControl und setzen es zum WindowsFormsHost1 ein:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
 public partial class Designer : Window
 {
 FastReport.Design.StandardDesigner.DesignerControl designer = new FastReport.Design.StandardDesigner.DesignerControl();
 Report report1 = new Report();
 
 public Designer()
 {
 InitializeComponent();
 designer.Report = report1;
 designer.RefreshLayout();
 WindowsFormsHost1.Child = designer;
 }
 }
}

Weil der Designer den Bericht zeigen soll, leeren oder nicht leeren, erstellen wir auch das Exemplar des Objekts Report und downloaden ihn in den Designer. Weiter erneuern wir den Designer und setzen wir unserem Host das Objekt des Designers.

Weiter zum Fenster Preview.xaml. Wie es schon gesprochen wurde, fügen wir die Komponente WindowsFormsHost auf die Form hinzu und nennen sie WindowsFormsHost2. Wir löschen Attributen, die für die Größe und für die Platzierung verantwortlich sind. Wir öffnen weiter den Code-Editor für dieses Fenster.

Wir fügen die Bibliothek FastReport in unser Projekt hinzu:

1
using FastReport;

In der Klasse erstellen wir ein Exemplar des Objekts PrewiewControl und des Objekts Report. Wir downloaden schon erstellten Bericht und setzen dem Objekt Report ein schon erstellte preview (Vorschau) ein. 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
public partial class Preview : Window
 {
 FastReport.Preview.PreviewControl prew = new FastReport.Preview.PreviewControl();
 Report report = new Report();
 
 public Preview()
 {
 InitializeComponent();
 report.Load(@"J:\Program Files (x86)\FastReports\FastReport.Net\Demos\Reports\Text.frx");
 report.Preview = prew;
 report.Prepare();
 report.ShowPrepared();
 WindowsFormsHost2.Child = prew;
 }

Nach dem Einsetzen von Preview dem Bericht erstellen wir den Report und darstellen. In letzter Code-Zeile wir setzten dem WindowsFormsHost2.Child Preview ein.

Die Anwendung ist schon fertig und wir wählen die erste Taste auf der Form mit Buttons. Und klicken auf Events in den Eigenschaften für diese Taste. Weiter erstellen wir einen Event Klick.

   

Wir schreiben einen einfachen Code:

1
2
3
4
5
 private void button_Click(object sender, RoutedEventArgs e)
 {
 Designer dsg = new Designer();
 dsg.Show();
 }

Hier erstellen wir ein Exemplar des Designer-Fensters und zeigen ihn. Analog erstellen wir noch einen Click-Event für zweite Taste:

1
2
3
4
5
 private void button1_Click(object sender, RoutedEventArgs e)
 {
 Preview prew = new Preview();
 prew.Show();
 }

Weiter noch eine Erstellung des Fensters Preview und zeigen es auch und starten die Anwendung:

 

Wir klicken auf erste Taste und bekommen das Designer-Fenster:

Wir machen dieses Fenster zu und klicken auf die zweite Taste und bekommen den Bericht in dem Vorschau-Regime: 

 Und Schluss damit. Alles ist ganz einfach mit der Anwendung von WindowsFormsHost.

about product download buy
avatar
Dmitriy Fedyashov
Technical Writer
Fast Reports Team: Dmitriy Fedyashov - Technical Writer at Fast Reports
.NET FastReport WPF

Add comment
logo
  • 800-985-8986 (English, US)
  • +4930568373928 (German)
  • +55 19 98147-8148 (Portuguese)
  • info@fast-report.com
  • 901 N Pitt Str #325 Alexandria VA 22314
  • Shop
  • Download
  • Dokumentation
  • Referenzen
  • Informationen zur Deinstallation unserer Produkte
  • Ticket system
  • FAQ
  • Tutorial Video
  • Forum
  • Articles
  • Unsere Nachrichten
  • Presse über uns
  • Partner
  • Außergewöhnliche Lizenzierung
  • Kontakte

© 1998-2022 by Fast Reports Inc.

  • Datenschutz