Data Standard XAML 文件

Data Standard 中的每个对话框都基于一个扩展名为 .XAML(可扩展应用程序标记语言)的文件。可通过修改该 XAML 文件来自定义 Data Standard 对话框。

概述

XAML 文件描述 Data Standard 对话框的布局,包括使用哪些控件(标签、文本框、组合框等),以及将这些控件绑定到哪些 CAD 或 Vault 特性。

XAML 文件是 XML 文件,可以用任何文本或 XML 编辑器进行编辑。免费 XML 编辑器的良好选择是 Microsoft XML Notepad 或任何其他可以格式化 XML 的编辑器。Autodesk 建议使用 Visual Studio(Express 或更高版本),以获得最佳编辑体验。由于 XAML 语法区分大小写,因此最好使用支持大写且能够捕捉拼写错误的编辑器。

如果 Data Standard 对话框需要显示更多、更少或不同的信息,请编辑 XAML 文件。位于“配置”文件夹中的 PS1 文件控制对话框行为。

本主题简要描述了最常用的控件。有关这些控件以及其他控件的详细信息,请参见 Microsoft 帮助页面。

XAML 文件剖析

每个 XAML 文件具有不同的部分:最常用的是“资源”、“样式”和控件部分。

“资源”部分包含在控件部分重用的定义。例如,如果您公司的颜色为绿色,可以定义在控件上显示的所有文字均为绿色。

触发器位于“样式”部分中。触发器定义控件的外观或行为,具体取决于给定的情况(例如,创建新记录或编辑现有记录)。但是,更加复杂的行为在 PS1 文件中进行定义。

控件部分(也称为布局区域)通常以控件 <Grid> 开始。网格将对话框拆分为行和列,像 Excel 表一样。请根据设计需要合并和拆分单元。在每个单元中,可以放置一个或多个控件,如用于显示简单文本的标签或用于输入文本的文本框。

布局

XAML 文件的布局类似于包含行和列的表。这使得对话框及其控件成为动态的,这意味着如果您使用鼠标调整窗口的尺寸,则控件会自动调整尺寸。您还可以使用固定坐标,但在这种情况下,当用户调整对话框的尺寸或者某些用户配置较大的窗口字体时,该对话框中的控件将保持在其坐标位置,并且可能相互重叠或者不占用该对话框中的可用空间。出于此原因,Autodesk 建议您使用表方法,并且让每个控件在已定义的单元内部展开。

由于对话框与表类似,因此,当您设计对话框时,请考虑您需要多少行和列。通常,两列就足够了:左列具有固定宽度,用于标签;右列具有动态宽度,用于控件。这也是生成默认对话框的方式。根据需要多少行,在网格中进行相应的行定义。网格内的每个控件都参照行和列(始终从 0 开始),以便相应地显示控件。

语法

在 XML 和 XAML 中,每个关键字都被嵌入在尖括号中(<关键字>)。通常,定义块以某个关键字开头,如 <Grid>,并且以带有斜线前缀的相同关键字结尾,如 </Grid>。在单行语句中,您也可能看到此语法:<Label ... />。该关键字的其他属性或在其内部嵌套的其他关键字定义了对话框的结构。XAML 区分大小写,因此请注意大小写。

最常用的控件

Grid

Label

Text Box

Button

Binding

使用 Visual Studio 编辑 XAML 文件

可以使用 Visual Studio 编辑 .xaml 文件。Visual Studio 可帮助您放置元素并避免拼写错误。

注: 若要按照本主题中的说明进行操作,需要安装 Visual Studio Express for Windows 或更高版本。如果您尚未安装 Visual Studio,可以从 Microsoft 进行下载。
Visual Studio 设置示例
  1. Visual Studio 安装完成后,启动该应用程序并单击“新建项目”字段。
  2. 选择 WPF 应用程序,并为新项目指定所需的名称和位置。您还应设置默认路径,这样一来,如果您需要多次更改“Data Standard”对话框,您就可以始终再次使用该项目。

现在您便处于新项目中了,您应该看到“MainWindow.xaml”选项卡、“MainWindow.xam.cs”选项卡以及其他选项卡。您不需要这些选项卡,只是需要提供的环境来编辑 .xaml 文件。为了编辑 .xaml,您需要链接到 .xaml 文件。不需要将 .xaml 移到项目中。

  1. 在解决方案浏览器中的项目上单击鼠标右键,然后选择“添加”>“现有条目”。
  2. 在解决方案浏览器中浏览到 .xaml 文件,然后选择“添加为链接”。
    注: 如果您没有看到 .xaml 文件,请更改“添加”按钮上方的文件类型。
  3. 当您在解决方案浏览器中看到 .xaml 文件后,立即双击该文件。

    此时将会显示一个名为“加载时出现问题”的错误。

  4. 在 Visual Studio 窗口底部的错误列表中,找到指明未找到部件和特性或资源的错误。
  5. 转到解决方案浏览器,然后在“参考”上单击鼠标右键。
  6. 选择“添加参考”。
  7. 选择“浏览”选项卡,然后搜索:
    • dataStandard.UI.DLL,在此路径下:C:\ProgramData\Autodesk\Inventor 2018\Addins\Data Standard。选择该文件,然后单击“确定”。
    • CreateObject.DLL,在此路径下:C:\ProgramData\Autodesk\Vault 2018\Extensions\Data Standard。选择该文件,然后单击“确定”。
    • Autodesk.Connectivity.Webservices.DLL,在此路径下:C:\Program Files\Autodesk\Vault 2018\。选择该文件,然后单击“确定”。
  8. 如果更改是针对 CAD 的,请在解决方案浏览器中选择您要修改的 .cfg 文件。

该对话框显示在设计窗口中。您可以在该对话框中选择一个区域,而 Visual Studio 将跳至 xaml 文件中的相应部分。开始插入或修改字段。有关详细信息,请参见 Data Standard 对话框

向对话框中添加字段

  1. 确定在何处添加新字段。应该在哪个行和列显示新特性?
  2. 在网格中添加一个新行,以便在该位置放置控件。如果需要新列,请添加列。转到 XAML 文件中包含新控件的 Grid 控件。对于该 Grid,您将找到 <Grid.RowDefinitions><RowDefinition .../>。添加您要在其中显示新行的其他 <RowDefinition/>。将特性 Height 设置为相应的值:固定值、auto(最小空间)或 *(最大空间)。
  3. 在 <Grid> 区域内靠近其他控件的位置添加控件,如 Label 和 TextBox。使用属性 Grid.RowGrid.Column 可以定义将控件放置在哪个行和列。您还可以定义该控件的绑定,以便数据可以在控件和特性之间流动。如果更改适用于 CAD,您还必须在相应的 CFG 文件中配置特性。
  4. 添加新行时,必须通过将位于相同行号和更低行号的所有控件的 Grid.Row 属性增一使其向下移动。