Data Standard-XAML-Dateien

Jedes Dialogfeld in Data Standard basiert auf einer Datei mit der Dateinamenerweiterung XAML (Extensible Application Markup Language). Passen Sie das Data Standard-Dialogfeld an, indem Sie die XAML-Datei ändern.

Übersicht

XAML-Dateien beschreiben das Layout des Data Standard-Dialogfelds, einschließlich der Angaben, welche Steuerelemente (Beschriftung, Textfeld, Kombinationsfeld usw.) verwendet werden und an welche CAD- oder Vault-Eigenschaften die Steuerelemente gebunden sind.

XAML-Dateien sind XML-Dateien und können mit einem beliebigen Text- oder XML-Editor bearbeitet werden. Eine gute Wahl für einen kostenlosen XML-Editor ist Microsoft XML Notepad oder ein anderer Editor, der XML formatieren kann. Autodesk empfiehlt Visual Studio (Express oder höher), um ein optimales Ergebnis zu erzielen. Da bei der XAML-Syntax zwischen Groß- und Kleinschreibung unterschieden wird, sollte ein Editor verwendet werden, der Groß-/Kleinschreibung unterstützt und Tippfehler erkennt.

Bearbeiten Sie die XAML-Datei, wenn in einem Data Standard-Dialogfeld mehr, weniger oder andere Informationen angezeigt werden müssen. Die PS1-Dateien im Konfigurationsordner steuern das Verhalten der Dialogfeldfelder.

Dieses Kapitel enthält eine kurze Beschreibung der am häufigsten verwendeten Steuerelemente. Weitere Informationen zu diesen und anderen Steuerelementen finden Sie auf den Microsoft-Hilfeseiten.

Aufbau einer XAML-Datei

Jede XAML-Datei verfügt über verschiedene Abschnitte: die Abschnitte Ressource, Stil und Steuerelemente werden am häufigsten verwendet.

Der Ressourcenabschnitt enthält Definitionen, die in den Steuerelementabschnitten wiederverwendet werden. Wenn die Farbe Ihres Unternehmens beispielsweise grün ist, können Sie festlegen, dass der gesamte Text in den Steuerelementen grün angezeigt wird.

Trigger befinden sich im Stilabschnitt. Trigger definieren je nach vorliegender Situation, wie ein Steuerelement aussieht oder sich verhält (z. B. Erstellen eines neuen Datensatzes oder Bearbeiten eines vorhandenen Datensatzes). Komplexere Verhaltensweisen werden jedoch in den PS1-Dateien definiert.

Der Steuerelementabschnitt bzw. der Layout-Bereich beginnt normalerweise mit dem Steuerelement <Grid>. Das Raster unterteilt das Dialogfeld in Zeilen und Spalten, wie bei einer Excel-Tabelle. Kombinieren und teilen Sie Zellen entsprechend Ihren Anforderungen. Sie können in jeder Zelle eines oder mehrere Steuerelemente platzieren, z. B. Beschriftungen für einfachen Text oder Textfelder für Texteingaben.

Layout

Das Layout einer XAML-Datei ist ähnlich wie das einer Tabelle mit Zeilen und Spalten. Dadurch werden das Dialogfeld und die Steuerelemente dynamisch, d. h., wenn Sie die Größe des Fensters mit der Maus ändern, ändert sich die Größe der Steuerelemente automatisch ebenfalls. Sie können auch mit festen Koordinaten arbeiten. Wenn allerdings die Größe des Dialogfelds vom Benutzer geändert wird oder ein Benutzer eine größere Schriftart für Fenster konfiguriert hat, verbleiben die Steuerelemente im Dialogfeld in diesem Fall an ihren Koordinaten und überlappen möglicherweise bzw. nehmen nicht den gesamten verfügbaren Platz im Dialogfeld ein. Aus diesem Grund empfiehlt Autodesk, die Tabellenstrategie zu verwenden, sodass alle Steuerelemente in der definierten Zelle vergrößert werden können.

Da sich Ihr Dialogfeld wie eine Tabelle verhält, sollten Sie beim Konfigurieren des Dialogfelds überlegen, wie viele Spalten und Zeilen Sie benötigen. In der Regel sind zwei Spalten ausreichend: eine Spalte links mit fester Breite für die Beschriftungen und eine Spalte rechts mit dynamischer Breite für die Steuerelemente. So sind auch die vorgabemäßigen Dialogfelder aufgebaut. Je nachdem, wie viele Zeilen Sie benötigen, werden die entsprechenden Zeilendefinitionen im Raster erstellt. Jedes Steuerelement im Grid besitzt eine Referenz zur jeweiligen Zeile und Spalte (immer beginnend mit 0), sodass das Steuerelement entsprechend angezeigt wird.

Syntax

In XML und XAML ist jedes Schlüsselwort in spitzen Klammern eingebettet (<Schlüsselwort>). In der Regel beginnt ein Definitionsblock mit einem Schlüsselwort, z. B., und endet mit dem gleichen Schlüsselwort, dem ein Schrägstrich vorausgeht, z. B. . Im Fall einer einzeiligen Anweisung sehen Sie möglicherweise auch folgende Syntax:<Label ... />. Weitere Attribute des Schlüsselworts oder weitere, darunter verschachtelte Schlüsselwörter definieren die Struktur des Dialogfelds. Bei XAML wird zwischen Groß- und Kleinschreibung unterschieden. Achten Sie deshalb auf die korrekte Schreibweise.

Häufig verwendete Steuerelemente

Grid

Das Grid ist ein Layout-Fenster, in dem alle Elemente in einer tabellarischen Struktur aus Zeilen und Spalten gesteuert werden. Alle Zellen (jede Zelle ist durch seine Kombination aus Zeile und Spalte eindeutig definiert) können mehrere Steuerelemente, wie Beschriftungen und Textfelder, enthalten.

Dies ist die grundlegende Struktur eines Rasters. Das Raster benötigt Zeilen, die Sie im Abschnitt Grid.RowDefinition definieren. Mit Height 30 wird ein fester Wert für die Höhe definiert, der danach nicht mehr geändert werden kann. Mit dem Wert "auto" erhält die Zeile eine dynamische Höhe, sodass sie je nach den enthaltenen Steuerelementen breiter oder schmäler sein kann. Dieselben Werte gelten für die Spaltenbreite.

Nach dem Definieren der Zeilen und Spalten können Sie Steuerelemente hinzufügen, z. B. Beschriftungen und Textfelder. Steuerelemente müssen an die beiden Eigenschaften Grid.Column und Grid.Row. gebunden sein. Mit diesen Eigenschaften wird die Position des Steuerelements im Raster definiert. Die erste Zeile ist 0, die zweite Zeile somit 1 usw.

Label

Label sind Feldnamen, die vom Benutzer nicht bearbeitet werden können. Sie enthalten Text, der die Funktion des Felds angibt, sodass der Benutzer weiß, welche Art von Wert in das entsprechende Text- oder Kombinationsfeld einzugeben ist. Beispielsweise könnte neben einem leeren Textfeld die Beschriftung Kommentare stehen. Der Benutzer weiß dann, dass in dieses Textfeld gegebenenfalls Kommentare einzugeben sind.

Das Steuerelement Label weist die Eigenschaft Content auf. Diese Eigenschaft stellt den Text dar, der für die Beschriftung angezeigt wird.

<Label Content="sample" Grid.Row ="0" Grid.Colum="0"/>

In den vorgegebenen Dialogfeldern befinden sich Codezeichenfolgen wie <Label Content="{Binding UIString\[LBL2\]}" ....>, deren Inhalt an lokalisierten Text gebunden ist. Diese Syntax wird verwendet, wenn im Dialogfeld Text in verschiedenen Sprachen angezeigt wird. Wenn Sie für Ihr Projekt nur eine Sprache benötigen, legen Sie den Text fest, der angezeigt werden soll. Wenn das Dialogfeld lokalisiert werden muss, verwenden Sie die Lokalisierungssyntax. Weitere Informationen finden Sie unter Lokalisierung.

TextBox

Textfelder sind Felder, die der Benutzer bearbeiten kann. Data Standard kann den eingegeben Wert lesen und für weitere Operationen verwenden.

Das Textfeld benötigt die folgenden Eigenschaften:

<ComboBox Name="MaterialCombo" Text="{Binding Prop[Cost].Value}" Grid.Column="3" Grid.Row="6" ItemsSource="{Binding Prop[Cost].ListValues}"/>

Schaltfläche

Eine Schaltfläche ist ein UI-Element, über das der Benutzer auf einfache Weise ein Ereignis auslösen kann, wie z. B. Suchen oder Speichern. Eine Schaltfläche benötigt die Eigenschaft Command. Diese Eigenschaft gibt an, welche Aktion ausgeführt wird, wenn auf die Schaltfläche geklickt wird.

<Button Command="{Binding PsCmd[MyCommand]}" Grid.Column="1" Margin="0,5,0,5" Width="80">Click</Button>

Der Befehl ist an das Schlüsselwort PsCmd gebunden, mit dem die Befehlsaktion mit der angegebenen PowerShell-Funktion verknüpft werden kann. Es ist möglich, Argumente mit dem Attribut CommandParameter="my args" an die Funktion zu übergeben. Das Argument ist dann innerhalb der Funktion als Variable $dsParam verfügbar.

Bindung

Um eine dieser Komponenten zum Steuern oder Ändern einer Vault-Dateieigenschaft verwenden zu können, müssen Sie die Funktion "{Binding Prop[myProp ].Value}" verstehen.

Mittels Bindung können Sie Werte bestimmten CAD- oder Vault-Eigenschaften zuordnen. Beispielsweise könnten Sie den Text eines Textfelds an die Eigenschaft Title binden, sodass bei jeder Eingabe in dieses Textfeld die Eigenschaft Title automatisch aktualisiert würde. Die Bindung stellt eine hervorragende Methode zum Automatisieren von Eigenschaftsänderungen dar, wodurch dem Endbenutzer Arbeit erspart wird.

Prop[ ] ist eine wichtige Funktion für Bindungen. Mit dieser Funktion können Sie auf die Eigenschaften einer Datei (CAD und Vault) oder eines entsprechenden Objekts (Ordner, Artikel, benutzerdefiniertes Objekt usw.) zugreifen. Wenn Sie ein Textfeld der Eigenschaft Ingenieur zuordnen möchten, geben Sie <TextBox text="{Binding Prop[Engineer].Value}"/> an. Wenn das Textfeld erstellt wird, gibt Prop[ ] den Wert dieser Eigenschaft zurück. Bei jeder Aktualisierung des Textfelds wird die Funktion Prop[ ] benachrichtigt, die den neuen Wert in die zugeordnete Dateieigenschaft schreibt.

Bearbeiten von XAML-Dateien mit Visual Studio

Sie können Visual Studio zum Bearbeiten der XAML-Datei verwenden. Visual Studio hilft Ihnen, Ihre Elemente zu platzieren und Schreibfehler zu vermeiden.

Anmerkung: Für die Anleitung in diesem Thema benötigen Sie Visual Studio Express für Windows oder höher. Wenn Sie noch nicht über Visual Studio verfügen, können Sie es von Microsoft herunterladen.

Beispiel für die Einrichtung von Visual Studio:

  1. Sobald Visual Studio installiert ist, starten Sie die Anwendung, und klicken Sie auf das Feld Neues Projekt.
  2. Wählen Sie die WPF-Anwendung aus, und geben Sie den gewünschten Namen und Speicherort für das neue Projekt an. Sie müssen auch den Vorgabepfad festlegen. So können Sie, wenn Sie das Dialogfeld Data Standard mehrere Male ändern möchten, immer wieder dieses Projekt verwenden.

Wenn Sie sich nun in Ihrem neuen Projekt befinden, sollten Sie neben weiteren Registerkarten eine Registerkarte MainWindow.xaml und eine Registerkarte MainWindow.xam.cs sehen. Sie benötigen die Registerkarten nicht, sondern nur die bereitgestellte Umgebung zum Bearbeiten der XAML-Datei. Erstellen Sie zum Bearbeiten der XAML-Datei eine Verknüpfung zu ihr. Es ist nicht erforderlich, die XAML-Datei in das Projekt zu laden.

  1. Klicken Sie im Projektmappen-Explorer mit der rechten Maustaste auf das Projekt, und verschieben Sie es nach Hinzufügen > Von vorhandenem Artikel.

  2. Navigieren Sie im Projektmappen-Explorer zu der XAML-Datei, und wählen Sie Als Link hinzufügen.

    Anmerkung: Wenn Sie die XAML-Datei nicht sehen können, ändern Sie den Dateityp über der Schaltfläche Hinzufügen.
  3. Sobald Sie die XAML-Datei im Projektmappen-Explorer sehen, doppelklicken Sie darauf.

    Es wird ein Fehler angezeigt, dass ein Problem beim Laden aufgetreten ist.

  4. Suchen Sie in der Fehlerliste im unteren Bereich des Visual Studio-Fensters nach dem Fehler, der besagt, dass Assemblys und Eigenschaften oder Ressourcen nicht gefunden wurden.

  5. Gehen Sie zum Projektmappen-Explorer, und klicken Sie mit der rechten Maustaste auf Verweise.

  6. Wählen Sie Verweise hinzufügen.

  7. Wählen Sie die Registerkarte Durchsuchen, und suchen Sie nach:

    • dataStandard.UI.dll unter \ProgramData\Autodesk\Inventor 2018\Addins\Data Standard. Wählen Sie die Datei aus, und klicken Sie auf OK.
    • CreateObject.dll unter C:\ProgramData\Autodesk\Vault 2018\Extensions\Data Standard. Wählen Sie die Datei aus, und klicken Sie auf OK.
    • Autodesk.Connectivity.WebServices.dll unter C:\Programme\Autodesk\Vault 2018\. Wählen Sie die Datei aus, und klicken Sie auf OK.
  8. Wenn Änderungen für CAD vorliegen, wählen Sie im Projektmappen-Explorer die CFG-Datei aus, die Sie bearbeiten möchten.

Das Dialogfeld wird im Konstruktionsfenster angezeigt. In diesem Fenster können Sie einen Bereich im Dialogfeld auswählen, und Visual Studio springt zu diesem Abschnitt in der XAML-Datei. Beginnen Sie mit dem Einfügen oder Bearbeiten von Feldern. Weitere Informationen finden Sie unter Data Standard-Dialogfelder.

Hinzufügen von Feldern zum Dialogfeld

  1. Entscheiden Sie, wo das neue Feld hinzugefügt werden soll. In welcher Zeile und Spalte soll die neue Eigenschaft angezeigt werden?
  2. Fügen Sie im Raster eine neue Zeile hinzu, sodass das Steuerelement an dieser Position platziert werden kann. Wenn Sie eine neue Spalte benötigen, fügen Sie eine Spalte hinzu. Wechseln Sie zur XAML-Datei in der Rastersteuerung, die das neue Steuerelement enthält. Für dieses Raster finden Sie <Grid.RowDefinitions> und <RowDefinition .../>. Fügen Sie an der Position, an der die neue Zeile angezeigt werden soll, eine weitere <RowDefinition/> hinzu. Legen Sie die Eigenschaft Height auf den entsprechenden Wert fest, entweder auf einen festen bzw. auf einen automatischen Wert (für minimalen Platz) oder auf * (für maximalen Platz).
  3. Fügen Sie das Steuerelement, z. B. Label oder TextBox, im Bereich in der Nähe der anderen Steuerelemente hinzu. Mit den Attributen Grid.Row und Grid.Column können Sie definieren, in welcher Zeile und Spalte das Steuerelement platziert wird. Außerdem können Sie die Bindungen für das Steuerelement definieren, sodass Daten zwischen dem Steuerelement und der Eigenschaft hin- und her fließen können. Wenn Änderungen für CAD vorgenommen werden sollen, müssen Sie auch die Eigenschaft in der entsprechenden CFG-Datei konfigurieren.
  4. Beim Hinzufügen einer neuen Zeile müssen alle Steuerelemente, die sich in der Zeile mit der gleichen Nummer und darunter befinden, nach unten verschoben werden, indem das entsprechende Attribut Grid.Row inkrementiert wird.