Ogni finestra di dialogo in Data Standard si basa su un file con estensione XAML (Extensible Application Markup Language). È possibile personalizzare la finestra di dialogo di Data Standard modificando il file XAML.
Nei file XAML viene descritto il layout della finestra di dialogo di Data Standard, tra cui i tipi di comandi (etichetta, casella di testo, casella combinata e così via) utilizzati e le proprietà CAD o di Vault a cui sono associati.
I file XAML sono file XML che possono essere modificati con qualsiasi editor di testo o XML. Un ottimo editor XML gratuito è Microsoft XML Notepad o qualsiasi altro editor in grado di formattare i file XML. Autodesk consiglia Visual Studio (Express o versioni successive) per la migliore esperienza di modifica. Poiché la sintassi XAML fa distinzione tra maiuscole e minuscole, è preferibile utilizzare un editor che supporti l'utilizzo di maiuscole/minuscole e sia in grado di individuare errori di digitazione.
Per visualizzare un numero maggiore o minore di contenuti o altri tipi di informazioni in una finestra di dialogo di Data Standard, modificare il file XAML. Il file PS1 situato nella cartella Configurazione consente di controllare il funzionamento della finestra di dialogo.
In questa sezione viene fornita una breve descrizione dei comandi utilizzati più di frequente. Ulteriori informazioni su questi e altri comandi sono disponibili nella Guida di Microsoft.
Ogni file XAML presenta diverse sezioni, le più utilizzate sono Resource, Style e Controls.
La sezione Resource contiene definizioni che vengono riutilizzate nella sezione Controls. Ad esempio, se il colore aziendale è il verde, è possibile impostare questo colore per la visualizzazione del testo nei comandi.
I trigger sono situati nella sezione Style. I trigger definiscono l'aspetto o il funzionamento di un comando, in base alla situazione specifica (ad esempio, la creazione di un nuovo record o la modifica di uno esistente). Tuttavia, i funzionamenti più complessi sono definiti nei file PS1.
Nella parte iniziale della sezione Controls, ovvero l'area di layout, generalmente è presente il comando <Grid>. Con Grid, la finestra di dialogo viene suddivisa in righe e colonne, come una tabella di Excel. È possibile combinare e suddividere le celle in base alle necessità per il progetto. In ciascuna cella, è possibile posizionare uno o più comandi, come le etichette, per l'immissione di testo semplice o caselle di testo.
Il layout di un file XAML è simile a quello di una tabella, con righe e colonne. In questo modo, la finestra di dialogo e i relativi comandi risultano dinamici. Di conseguenza, se si ridimensiona la finestra con il mouse, anche i comandi vengono ridimensionati automaticamente. Inoltre, è possibile utilizzare coordinate fisse, ma in questo caso, quando la finestra di dialogo viene ridimensionata dall'utente o alcuni utenti hanno configurato un font delle finestre di maggiori dimensioni, i comandi nella finestra di dialogo mantengono le proprie coordinate e potenzialmente si sovrappongono o non consumano lo spazio disponibile nella finestra di dialogo. Per questo motivo, Autodesk consiglia di utilizzare l'approccio della tabella e lasciare che ciascun comando si espanda all'interno della cella definita.
Poiché la finestra di dialogo è simile ad una tabella, per la sua progettazione è necessario pensare a quante righe e colonne sono necessarie. In genere, sono sufficienti due colonne: una a sinistra con una larghezza fissa per le etichette e una a destra con una larghezza dinamica per i comandi. Questa è anche la modalità di creazione predefinita delle finestre di dialogo. A seconda del numero di righe necessarie, vengono inserite le rispettive definizioni nella griglia. Ciascun comando all'interno di Grid presenta un riferimento alla riga e alla colonna (che inizia sempre con 0), in modo che il comando venga visualizzato di conseguenza.
Nei file XML e XAML, ogni parola chiave è inserita tra parentesi angolari (<keyword>). Generalmente, un blocco di definizione inizia con una parole chiave, come <Grid> e termina con la stessa parola chiave preceduta da un prefisso con una barra, come </Grid>. Nel caso di una singola riga di istruzione, è anche possibile visualizzare questa sintassi: <Label… />. La struttura della finestra di dialogo è definita da ulteriori attributi della parola chiave o altre parole chiave nidificate all'interno. In XAML viene fatta distinzione tra maiuscole e minuscole, quindi è opportuno prestare particolare attenzione.
Grid
La griglia (Grid) è un pannello di controllo dati con righe e colonne in formato tabella. Tutte le celle (ogni cella è univoca per la combinazione di una riga e una colonna) possono contenere più controlli, quali etichette e caselle di testo.
Questa è la struttura di base di una griglia. La griglia richiede alcune righe che vengono definite nella parte Grid.RowDefinition. Height 30 definisce un valore fisso per l'altezza che non può essere modificato in un secondo momento. Con il valore "auto", la riga assume un'altezza dinamica, in modo che possa essere più o meno alta, a seconda dei controlli. Gli stessi valori sono applicabili alla larghezza della colonna.
Una volta definite le righe e le colonne, è possibile aggiungere comandi, come le etichette e le caselle di testo. I controlli devono essere associati alle due proprietà: Grid.Column e Grid.Row. Queste proprietà definiscono la posizione del comando nella griglia. La prima riga è 0, la seconda è 1 e così via.
Label
Le etichette (Label) sono nomi di campo non modificabili da parte dell'utente. Contengono testo che indica la funzione dell'etichetta, in modo che l'utente conosca il tipo di valore da inserire nella casella di testo o nella casella combinata corrispondente. Ad esempio, un'etichetta denominata Commenti potrebbe essere posizionata accanto ad una casella di testo vuota. In questo modo l'utente saprà che i commenti devono essere inseriti in quella casella di testo.
L'etichetta presenta una proprietà Content. Questa proprietà è il testo che viene visualizzato nell'etichetta.
<Label Content="sample" Grid.Row ="0" Grid.Colum="0"/>
Le finestre di dialogo predefinite contengono stringhe di codice come <Label Content="{Binding UIString[LBL2]}"… >, in cui Content è associato ad un testo localizzato. Questa sintassi viene utilizzata quando nella finestra di dialogo viene visualizzato testo in diverse lingue. Se per il progetto è necessario soltanto una lingua, impostare il testo che si desidera visualizzare. Se la finestra di dialogo deve essere localizzata, è necessario utilizzare la sintassi di localizzazione. Per ulteriori informazioni, vedere Localizzazione.
TextBox
Le caselle di testo (TextBox) sono campi modificabili da parte dell'utente. Il valore immesso viene letto in Data Standard e può essere utilizzato per altre operazioni.
<ComboBox Name="MaterialCombo" Text="{Binding Prop[Cost].Value}" Grid.Column="3" Grid.Row="6" ItemsSource="{Binding Prop[Cost].ListValues}"/>
Button
Un pulsante (Button) è un elemento dell'interfaccia utente che consente all'utente di attivare in maniera semplice un evento, ad esempio Cerca o Salva. Il pulsante richiede la proprietà Command. La proprietà Command consente di specificare l'azione che viene eseguita quando si fa clic sul pulsante.
<Button Command="{Binding PsCmd[MyCommand]}" Grid.Column="1" Margin="0,5,0,5" Width="80">Click</Button>
Il comando è associato alla parola chiave PsCmd che consente di collegare l'azione del comando con la funzione PowerShell. È possibile trasferire gli argomenti alla funzione utilizzando l'attributo CommandParameter="my args". L'argomento sarà quindi disponibile all'interno della funzione come variabile $dsParam.
Binding
Per utilizzare uno di questi componenti per controllare o modificare una proprietà di un file di Vault, è necessario comprendere il codice "{Binding Prop[myProp ].Value}".
L'associazione (Binding) consente di collegare i valori a determinate proprietà CAD o di Vault. Ad esempio, è possibile associare il testo di una casella di testo alla proprietà Title, in modo che la proprietà venga aggiornata automaticamente ogni volta che viene immesso un valore in questa specifica casella di testo. L'associazione è un ottimo modo per automatizzare le modifiche alle proprietà, in quanto consente all'utente finale di eseguire meno lavoro.
Prop[ ] è una funzione essenziale per l'associazione, poiché consente l'accesso alle proprietà di un file (CAD e Vault) o al relativo oggetto (cartella, articolo, oggetto personalizzato e così via). Per associare una casella di testo alla proprietà Engineer, scrivere <TextBox text="{Binding Prop[Engineer].Value}"/>. Quando viene creata la casella di testo, Prop[ ], viene restituito il valore di tale proprietà. Ogni volta che la casella di testo viene aggiornata, viene inviata una notifica alla funzione Prop[ ] che consente di scrivere il nuovo valore nella proprietà del file associato.
È possibile utilizzare Visual Studio per modificare il file XAML. Visual Studio consente di inserire elementi ed evitare errori di ortografia.
Una volta aperto il nuovo progetto, dovrebbero essere visualizzate le schede MainWindow.xaml MainWindow.xam.cs e altre. Non sono necessarie le schede, ma solo l'ambiente che consente di modificare il file .xaml. Per poter modificare il file .xaml, è possibile collegare il file .xaml. Non è necessario inserire il file .xaml nel progetto.
Viene visualizzato un errore denominato Problema durante il caricamento.
Nella finestra di progettazione viene visualizzata la finestra di dialogo. È possibile selezionare un'area della finestra di dialogo per passare a tale parte nel file XAML in Visual Studio. Iniziare ad inserire o a modificare i campi. Per ulteriori informazioni, vedere Finestre di dialogo di Data Standard.