Les fichiers XAML pour les fichiers, dossiers et objets personnalisés des entités sont préconfigurés. Toutefois, plusieurs fichiers XAML peuvent être créés dans ce répertoire et différents fichiers XAML peuvent être affichés pour la même entité.
Pour afficher différentes boîtes de dialogue pour la même entité, créez un fichier PowerShell avec le contenu de ce répertoire : %programdata%\Autodesk\Vault [édition]\Extensions\DataStandard\Vault\addinVault\Menus.
Exemple de fichier XAML personnalisé
$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
}
Une fois la boîte de dialogue chargée (par $dialog.Execute()), elle peut être gérée à l’aide des fonctions Data Standard. Pour en savoir plus sur l’exécution du code dans l’exemple ci-dessus, reportez-vous à Éléments de menu.