Formulare: Schlüsselkonzepte
Veröffentlicht: Juli 2016
Gilt für: System Center 2012 SP1 - Service Manager, System Center 2012 R2 Service Manager, System Center 2012 - Service Manager
Vor dem Anpassen von Formularen sollten Sie mit der folgenden Formularkonzepten vertraut sein.
Verwendung von Formularen
Beim Importieren des Management Packs mit den Formulardefinitionen in System Center 2012 – Service Manager werden die Formulardefinitionen in der Datenbank gespeichert. Wenn der Benutzer später einen Service Manager-Konsole-Task initiiert, der die Anzeige eines Objekts erfordert, muss von Service Manager ein Formular für die Anzeige des angeforderten Objekts gesucht werden.Service Manager greift auf die Datenbank zu und sucht nach einem für dieses Objekt definierten Formular. Wenn für das Objekt kein Formular definiert wurde, wird von Service Manager nach einem für das übergeordnete Objekt des Objekts definierten Formular gesucht.Service Manager durchsucht die gesamte Vererbungshierarchie des Objekts, bis ein definiertes Formular gefunden wird.
Generische Formulare
Wenn von Service Manager kein Formular für das Objekt oder für ein übergeordnetes Objekt gefunden wird, wird von Service Manager ein standardmäßiges generisches Formular für dieses Objekt dynamisch erstellt. Beim generischen Formular handelt es sich um ein vom System generiertes Formular, das für die einfache Formularnutzung ausreicht. Das generische Formular stellt eine schnelle und einfache Möglichkeit zum Erstellen eines Formulars für Objekte ohne Formulardefinitionen dar.
Vom generischen Formular werden alle Eigenschaften des Formulars in einem einfachen Layout dargestellt, das nicht geändert werden kann. Vom generischen Formular werden die Eigenschaften aller übergeordneten Objekte in der Vererbungshierarchie des Formulars dargestellt. Dieses Verhalten kann nicht geändert werden. Das generische Formular kann nur eingeschränkt angepasst werden. Sie können beispielsweise die Eigenschaften festlegen, die vom generischen Formular angezeigt werden sollen. Das generische Formular kann jedoch nicht als Basis für Anpassungen verwendet werden. Wenn Sie später ein benutzerdefiniertes Formular für dieses Objekt definieren, wird das generische Formular des Objekts mit dem angepassten Formular überschrieben.
Informationen zum Ausblenden von Eigenschaften in einem generischen Formular sowie zu anderen Möglichkeiten zum Anpassen eines generischen Formulars finden Sie im Blogpost Overview of the Forms Infrastructure and the Generic Form (Übersicht über die Formularinfrastruktur und das generische Formular).
Kombinationsklassen in Formularen
Gelegentlich benötigen Sie ein Formular zum Anzeigen von Informationen, die aus mehreren Klassen abgeleitet werden. Hierzu erstellen Sie eine Kombinationsklasse, und dann binden Sie ein Feld im Formular an die Kombinationsklasse.Weitere Informationen zu Kombinationsklassen finden Sie unter Änderungen am System Center Common Schema.
Funktionale Aspekte eines Formulars
Ein Formular weist folgende funktionalen Aspekte auf:
Initialisierung
Größe und Position
Aktualisieren
Änderungen senden
Diese Aspekte werden in den folgenden Abschnitten beschrieben.
Initialisierung
Während der Initialisierung wird der XAML-Code (Extensible Application Markup Language) des Formulars analysiert, und alle Steuerelemente des Formulars werden instanziierte und geladen. Mit dem Ereignis Loaded des Formulars wird angegeben, wenn das Formular und alle enthaltenen Elemente geladen wurden. Datenladevorgänge werden asynchron ausgeführt. Daher ist die Zielinstanz möglicherweise nicht verfügbar, wenn das Ereignis Loaded ausgelöst wird. Stattdessen muss das Ereignis DataContextChanged für Benachrichtigungen verwendet werden, wenn die Zielinstanz für das Formular festgelegt wird. Das Ereignis PropertyChanged für die Eigenschaft DataContext kann anstelle des Ereignisses DataContextChanged verwendet werden.
Es wird empfohlen, das Ereignis Loaded für die angepasste Initialisierung von Steuerelementen und anschließend das Ereignis DataContextChanged oder das Ereignis PropertyChanged für die Eigenschaft DataContext für die angepasste Initialisierung von Zielinstanzen zu verwenden.
Größe und Position
Wenn ein Formular in einem Popupfenster angezeigt wird, wird die anfängliche Größe durch die Eigenschaften Width, Height, MinWidth und MinHeight des Formulars bestimmt. Wenn diese Eigenschaften für das Formular nicht festgelegt wurden, wird die anfängliche Größe des Formulars basierend auf dessen Inhalt berechnet.
Es wird empfohlen, diese Eigenschaften wie folgt festzulegen:
Legen Sie die Eigenschaften Width und Height des Formulars explizit auf die optimale Größe fest. Legen Sie für diese Einstellungen am besten den Wert Auto fest. Damit wird die Breite und Höhe des Formulars basierend auf der Größe des Inhalts festgelegt.
Legen Sie die Eigenschaften MinWidth und MinHeight des Formulars auf die für das Formular kleinste akzeptable Fenstergröße fest. Wenn das Fenster von einem Benutzer auf eine kleinere Größe als die angegebene Größe verkleinert wird, werden Bildlaufleisten angezeigt, mit deren Hilfe der verborgene Formularinhalt angezeigt werden kann.
Wenn das Formular im Service Manager-Formularhost gehostet wird, wird die zuletzt verwendete Größe und Position für die nachfolgende Anzeige dieses Formulars durch denselben Benutzer innerhalb derselben Ausführungssitzung beibehalten.
Aktualisieren
Die Zielinstanz kann sich aufgrund der Ausführung eines Befehls vom Typ Refresh für das Formular ändern. Vom Handler für diesen Befehl werden neue Daten aus der Datenbank abgerufen. Wenn die Daten empfangen werden, wird der Eigenschaftswert DataContext des Formulars auf die neue Zielinstanz festgelegt und das Ereignis DataContextChanged wird ausgelöst.
Für die Unterscheidung zwischen dem Ereignis DataContextChanged, das beim ersten Laden des Formulars ausgelöst wurde, und dem Ereignis, das zum Behandeln eines Befehls vom Typ Refresh ausgelöst wurde, prüfen Sie die Eigenschaft OldValue der mit dem Ereignis übergebenen Ereignisargumente. Diese Eigenschaft ist null, wenn das Formular nur initialisiert wurde.
Änderungen senden
Das Popupfenster des Formularhosts in Service Manager enthält Schaltflächen zum Senden von Änderungen, die im Formular vorgenommen wurden, sowie zum Schließen des Popupfensters.
Wenn ein Benutzer auf die Schaltfläche Übernehmen für ein Formular klickt, wird die Zielinstanz des Formulars zum Speichern gesendet. Dieser Vorgang wird synchron ausgeführt. Daher kann der Benutzer das Formular erst nach Abschluss des Sendevorgangs bearbeiten. Wenn während der Übermittlung des Formulars Fehler auftreten, wird eine Fehlermeldung angezeigt. Das Formular bleibt für weitere Änderungen geöffnet. Es wird empfohlen, dass Benutzer ihre Änderungen regelmäßig übernehmen, um Kollisionen zu vermeiden, wenn gleichzeitig eine andere Instanz des Formulars bearbeitet wird.
Wenn der Benutzer auf die Schaltfläche OK klickt, ist das Verhalten ähnlich wie beim Klicken auf die Schaltfläche Übernehmen, jedoch mit dem Unterschied, dass das Formular und das entsprechende Hostfenster bei erfolgreichem Senden des Formulars geschlossen werden.
Wenn der Benutzer auf die Schaltfläche Abbrechen klickt, wird ein Dialogfeld angezeigt, mit dem der Benutzer aufgefordert wird, den Vorgang zu bestätigen. Wenn der Benutzer auf Ja klickt, gehen Änderungen verloren. Er kann auch auf Nein klicken, um zum Formular zurückzukehren.
Siehe auch