Active Reports WinForms spectateur contrôle hébergé dans WPF fenêtre
-
26-09-2019 - |
Question
Il est actuellement pas un spectateur de WPF disponible pour les rapports actifs 6 . Je tentais d'utiliser un contrôle hôte pour afficher le spectateur dans un hôte Interop mais je ne suis pas avoir beaucoup de chance. Est-ce que quelqu'un d'autre tentative de ce succès? Je ne peux même pas l'emballage de contrôle Viewer pour ajouter à la boîte à outils du projet en tant que contrôle personnalisé à ce stade. J'espère éviter de recréer la roue.
La solution
Le Viewer ActiveReports existant fonctionne bien dans WPF. Vous pouvez utiliser le XAML ci-dessous pour l'héberger dans WPF:
<Window x:Class="ARViewerHostedInWpf.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:arv="clr-namespace:DataDynamics.ActiveReports.Viewer;assembly=ActiveReports.Viewer6"
Title="MainWindow" Height="350" Width="525" Loaded="Window_Loaded">
<Grid>
<WindowsFormsHost Name="windowsFormsHost1">
<arv:Viewer x:Name="ARViewer" Dock="Fill" />
</WindowsFormsHost>
</Grid>
</Window>
Le code suivant dans le code-behind du fichier XAML se connectera un rapport au spectateur dans le XAML ci-dessus et exécutez-le:
public partial class MainWindow : Window
{
public MainWindow()
{
InitializeComponent();
}
private void Window_Loaded(object sender, RoutedEventArgs e)
{
NewActiveReport1 rpt = new NewActiveReport1();
this.ARViewer.Document = rpt.Document;
rpt.Run();
}
}
J'utilise le version actuellement disponible de 6 ActiveReports pour tester.
Hope this helps!
Scott Willeke
GrapeCity