Autodesk рекомендует внимательно изучить принципы использования компонентов файла XAML, прежде чем приступать к адаптации или созданию собственных диалоговых окон Data Standard.
Файлы XAML в Data Standard содержат ряд базовых компонентов, из которых формируется диалоговое окно Data Standard (сетки, поля со списком, метки, текстовые поля и кнопки).
Сетка представляет собой панель компоновки для управления всеми элементами с помощью табличной структуры из строк и столбцов. Каждая ячейка (определяется уникальной комбинацией строки и столбца) может содержать несколько элементов управления (таких как метки и текстовые поля).

Это базовая структура сетки. Для сетки требуется несколько строк, которые определяются в части Grid.RowDefinition. Значение высоты 30 задает фиксированное значение высоты, которое не может изменяться. Значение "auto" задает для строки динамическое значение высоты, так что высота строки может изменяться с учетом элементов управления. Такие же значения применяются к ширине столбца.
После определения строк и столбцов можно добавить элементы управления, например метки и текстовые поля. Элементы управления необходимо присоединить к двум свойствам: Grid.Column и Grid.Row. Эти свойства определяют местоположение элемента управления в сетке. Значение первой строки — 0, второй — 1 и так далее.
Метки являются именами полей, которые нельзя редактировать. Они содержат текст, определяющий назначение метки и позволяющий пользователю определить, значение какого типа необходимо вставить в соответствующее текстовое поле или поле со списком. Например, рядом с пустым текстовым полем может быть метка с именем "Комментарии". В этом текстовом поле пользователь может ответить на комментарии.
Метка имеет свойство Content. Это свойство представляет собой текст, отображаемый для метки.
<Label Grid.Row ="0" Grid.Colum="0" Content="sample" />
Текстовые поля являются редактируемыми полями. В такое поле пользователь может ввести текст. Data Standard может считывать введенные значения и использовать их для других операций.
<TextBox Grid.Row="0" Grid.Column="0" Text="{Binding Prop[State].Value}" Name="testtextfield" />
Поля со списком — это нередактируемые поля, в которых можно выбрать параметр из списка существующих. Если это значение настроено, его можно извлекать для дальнейших операций.
<ComboBox Name="MaterialCombo" Text="{Binding Prop[Cost].Value}" Grid.Column="3" Grid.Row="6" ItemsSource="{Binding Prop[Cost].ListValues}"/>
Кнопка представляет собой элемент пользовательского интерфейса, который обеспечивает простой способ инициации события (например, "Найти" или "Сохранить").
Для кнопки требуется свойство Command. Это свойство определяет действие, которое выполняется при нажатии кнопки.
Чтобы использовать один из этих компонентов для управления свойством файла Vault или его изменения, необходимо изучить компонент {Binding Prop[cost].Value}. Связывание позволяет сопоставить значения определенным свойствам файла Vault. Например, можно связать текст в текстовом поле со свойством Cost в Vault, чтобы при каждом вводе данных в это конкретное текстовое поле свойство Cost в Vault автоматически обновлялось. Связывание позволяет автоматизировать изменение свойств, благодаря чему пользователю приходится выполнять меньше операций.
Prop [ ]
Prop[ ] является важной функцией для связывания. Данная функция обеспечивает доступ к свойствам файла в Vault. Чтобы сопоставить текстовое поле свойству Engineer, введите следующий код: <TextBox text="{Binding Prop[Engineer].Value}"/>. После создания текстового поля функция Prop[ ] возвращает значение этого свойства. При каждом обновлении текстового поля функции Prop[ ] отправляется уведомление, и она выполняет запись нового значения в сопоставленное свойство файла.