Click here for the English article.
Problem
Es besteht der Wunsch, die Funktionalität der Toolbar-Buttons in einer List & Label-Vorschaudatei den eigenen Wünschen entsprechend anzupassen. Allerdings ist es nicht möglich, unmittelbar im Vorschaufenster einen individuell gestalteten Button einzubinden.
Lösung
Obwohl keine direkte Integration eigener Buttons in der Vorschau möglich ist, bietet List & Label verschiedene Ansätze, um dennoch eigene Funktionen einzubinden oder die Buttons in der Vorschau nach Bedarf anzupassen.
Die folgenden Ansätze beziehen sich auf das List & Label PreviewControl:
Toolbar anpassen
Die Toolbar der Vorschau kann flexibel gesteuert werden:
-
Die komplette Toolbar deaktivieren:
LLPreviewControl.ShowToolbar = false;
Wird die Standard-Toolbar überShowToolbar = falseausgeblendet, kann eine komplett eigene Toolbar in der Anwendung bereitgestellt werden. So lassen sich beliebige Schaltflächen mit individuellen Funktionen integrieren. -
Einzelne Buttons deaktivieren:
LLPreviewControl.ToolbarButtons.SendTo = LlButtonState.Disabled; -
Einzelne Buttons ausblenden:
LLPreviewControl.ToolbarButtons.SaveAs = LlButtonState.Invisible;
Auf das ButtonPress-Ereignis reagieren
Wird im PreviewControl ein Button angeklickt, löst List & Label das ButtonPress-Ereignis aus.
Dieses Ereignis kann im Code abgefangen werden, um eigene Funktionen zu implementieren. Über die Ereignisargumente erhält man die relevanten Informationen zum geklickten Button. So lassen sich gezielt Klicks abfangen und eigene Aktionen ausführen, z. B. ein ZUGFeRD-Export aus der Vorschau:
// ButtonPress-Event
LLPreviewControl.ButtonPress += (sender, e) =>
{
if (e.ButtonID == 112)
{
if (!File.Exists($"{previewFile}"))
CreatePRVFile();
PreviewFile prv = new PreviewFile($"{previewFile}");
prv.ConvertTo($@"{exportPath}", "PDF;PDF.ZUGFeRDVersion=2.0;"
+ "PDF.ZUGFeRDXmlPath=" + zugFerdXMLpath);
if (LLPreviewControl.CanClose())
this.Close();
}
};
Die einzelnen IDs sind in der Datei MenuID.txt im Unterverzeichnis Dokumentation des List & Label-Installationsverzeichnisses zu finden.
Fazit
Eine direkte Erweiterung der Vorschau mit eigenen Buttons ist nicht vorgesehen. Über das ButtonPress-Ereignis, durch das gezielte Deaktivieren von Toolbar-Elementen oder das Einbinden einer eigenen Toolbar lässt sich die Vorschau jedoch flexibel an die eigenen Anforderungen anpassen.