+1 800 256 3608 (toll-free in North America) or +49 7531 9060-10| service@combit.com

EnhancedViewerControl wird nicht angezeigt

Hallo,
wir verwenden in einem Kundenprojekt (WPF, .NET Framework 4.8, List&Label 25.3) normalerweise das ListLabelViewerControl um Vorschaudateien im Programm anzuzeigen. Bei einer größeren Preview Datei hängt die Anwendung leider eine kurze Zeit sobald die Datei geöffnet wird (Größe des Preview Files ca. 650MB).

Um das Problem zu Analysieren habe ich mir eine kleine Testanwendung gebaut und festgestellt, dass bei der Verwendung des EnhancedViewerControl dieses Problem nicht auftritt.

Ich wollte dann in der bestehenden Anwendung das Control austauschen, was aber leider nicht funktioniert. Es wird einfach nichts angezeigt. Keine Toolbar etc. Haben Sie irgendeine Idee wo ich hier ansetzen könnte und was hier schief läuft?

Hallo Dennis,
schön wieder einen Beitrag von Ihnen zu sehen.

Bei solch einer großen Vorschaudatei, kann das schon an die Performance gehen, die Datei wird auch noch im Hintergrund konvertiert, was beim EnhancedViewerControl nicht der Fall ist.

Funktioniert den die Vorschaudatei in unserem mitgelieferten WPF Sourcecode Beispiel, falls nicht würde ich Sie bitten die Vorschau-Datei, wenn möglich, hier an zu hängen.

Wir würden aber empfehlen, hierzu einen Supportcase über unser Support-Portal zu öffnen, dort gibt es bessere Möglichkeiten für den Daten bzw. Informationsaustausch.

Hallo Erdal,
beim WPF Beispielprojekt ist das Verhalten ähnlich. Über das Window mit Native WPF Viewer hängt die Anwendung, beim Hosted Preview Control klappt alles.

Die Beispieldatei kann ich leider nicht hochladen, da hier Kundenrelevante Daten drin sind.

Das Verhalten in der Kundenanwendung ist auch ohne irgendeine geladene Datei so. Selbst wenn ich das Control direkt im MainWindow einbinde, wird einfach nichts angezeigt (keine Toolbar, Thumbnails etc.).

Ich werde das Verhalten einmal versuchen nachzustellen, falls es von unserer Seite nicht reproduzierbar ist würde ich hier nochmal auf unsere Empfehlung, einen Support Case zu öffnen, zurückkommen.

Ich konnte das von Ihnen beschriebene Verhalten nicht reproduzieren. Deshalb würde ich Ihnen hier empfehlen über das Supportportal ein Case zu öffnen und den Fall dort weiter zu bearbeiten, vielen Dank.

Hallo.
Der Fehler liegt am gesetzten Property AllowTransparency im MainWindow.

Window.AllowsTransparency Property (System.Windows) | Microsoft Docs

Wenn ich die Transparenz deaktiviere dann funktioniert es. Gibt es eine Möglichkeit das irgendwie zu umgehen? Leider verwenden wir in anderen Bereichen die Transparenz.

1 Like

@jbartlau was bedeutet der Like? Bekommen wir ein Update? :slight_smile:

Das bedeutet erstmal “vielen Dank für die Information, damit können wir weiterarbeiten” :slight_smile:. @ealacali schaut sich das gerade einmal an. Inwieweit wir das ändern/lösen können müssen wir noch sehen, sobald wir das analysiert haben.

Das Verhalten kann ich nicht reproduzieren, ich habe jetzt intensive Testläufe mit unterschiedlichen Einstellungen vorgenommen:

  • Mit AllowTransparency und ohne AllowTransparency
  • Als 64 bit Anwendung und 32 Bit Anwendung
  • Kleiner Vorschaudatei und großer Vorschaudatei (5000 Seiten 50,6 MB)

Die Datei wurde immer korrekt angezeigt, bei einer großen Datei benötigt das Umwandeln in das XPS Format natürlich seine Zeit, da kann es schon so aussehen als ob die Anwendung hängt.
Folgend finden Sie die Erklärungen zu den jeweiligen Viewern, welche auch erklären warum der Native WPF Viewer die Datei erst konvertiert.

EnhancedViewerControl:
Kann verwendet werden, um den Inhalt von Vorschaudateien in WPF-Anwendungen anzuzeigen, die auf dem ListLabelPreviewControl mit dem WindowsFormsHost basieren.
Heißt das Control zeigt lediglich die schon fertige Vorschaudatei (LL) an.

Native WPF Viewer
Dieses Control kann dazu verwendet werden die Inhalte von Preview-Dateien in WPF-Anwendungen anzuzeigen.
Die Vorschaudateien müssen hierzu erst in das das XPS Format konvertiert werden (vom Viewer).

Ich würde Sie bitten das Verhalten erneut zu testen, ob die Anwendung hängt oder nicht können Sie dann z.B. in der Druckerwarteschlange des XPS Document Writers sehen, z.B. wie im folgenden Bild aus meinen Test zu sehen ist.

Falls es weiterhin hier Probleme gibt muss ich wieder auf einen Supportcase verweisen, da wir dann zwingend die betroffene Vorschaudatei benötigen, vielen Dank.

Hallo @ealacali,

nochmal: es ist völlig unabhängig von der geladenen Datei. Erstellen Sie einfach mal eine WPF App mit .NET Framework 4.8 und den NuGet Paketen combit.ListLabel25 & combit.ListLabel25.Wpf in Version 25.3.0.

Wenn Sie jetzt im MainWindow AllowTransperency=False und den WindowStyle=None setzen wird das Control nicht angezeigt. Keine Toolbar etc. Ganz unabhängig ob eine Datei geladen wurde.

<Window x:Class="PdfViewTest.MainWindow"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
        xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
        AllowsTransparency="True"
        WindowStyle="None"
        xmlns:wpf="clr-namespace:combit.ListLabel25.Wpf;assembly=combit.ListLabel25.Wpf"
        mc:Ignorable="d"
        Title="MainWindow" Height="450" Width="800" x:Name="This">
    <Grid>
        <wpf:EnhancedViewerControl/>
    </Grid>
</Window>

Hier ist ein wenig etwas durcheinander gekommen, zum Testen habe ich hier nicht das EnhancedViewerControl Control verwendet sondern den nativen WPF Viewer.

Eine Recherche im Internet zeigt, dass das Verhalten für WindowFormsHost-Controls nicht unbekannt ist und es verschiedene Workarounds gibt. Einen bestimmten Workaround können wir nicht empfehlen, da es sich hierbei um eine Microsoft/WPF-Thematik handelt. Vielen Dank für Ihr Verständnis.

© combit GmbH