Beispiel – Laden verschiedener Data Standard-Dialogfelder

Die XAML-Dateien für die Objekte Datei, Ordner und Benutzerdefiniertes Objekt sind vorkonfiguriert. Es können jedoch weitere XAML-Dateien in diesem Verzeichnis erstellt werden, und es können unterschiedliche XAML-Dateien für das gleiche Objekt angezeigt werden.

Um verschiedene Dialogfelder für das gleiche Objekt anzuzeigen, erstellen Sie eine PowerShell-Datei mit dem Inhalt in diesem Verzeichnis: %programdata%\Autodesk\Vault [Edition]\Extensions\DataStandard\Vault\addinVault\Menus.

Beispiel für eine benutzerdefinierte XAML-Datei

$vaultContext.ForceRefresh = $true
$currentSelected = $vaultContext.CurrentSelectionSet[0]
$folderid = $currentSelected.Id
#if selected object is of type 'FILE' then use $vaultContext.NavSelectionSet[0].Id,
#it will give you back the folder Id where this file is located
if ($currentselected.typeid.entityclassid--eq-"file")
{
    $folderid = $vaultContext.NavSelectionSet[0].Id
}

$xamlFile = New-Object CreateObject.WPF.XamlFile "MyOwnXaml", "C:\ProgramData\Autodesk\Vault [edition]\Extensions\DataStandard\Vault\Configuration\myfile.xaml"
$dialog = $dsCommands.GetCreateDialog($folderid)
$dialog.XamlFile = $xamlFile

#new file can be found in $dialog.CurrentFile
$result = $dialog.Execute()
$dsDiag.Trace($result)

if ($result)
{
    $folder = $vault.DocumentService.GetFolderById($folderid)
    $path=$folder.FullName+"/"+$dialog.CurrentFile.Name

    $selectionId = [Autodesk.Connectivity.Explorer.Extensibility.SelectionTypeId]::File
    $location = New-Object Autodesk.Connectivity.Explorer.Extensibility.LocationContext $selectionId, $path

    #$dsDiag.Inspect()
    $vaultContext.GoToLocation = $location
}

Sobald das Dialogfeld (durch $dialog.Execute()) geladen wurde, können Sie es mithilfe von Data Standard-Funktionen verwalten. Weitere Informationen zum Ausführen des Codes im obigen Beispiel finden Sie unter Menüelemente.