使用 Service Manager 创作工具自定义和创作表单
本文提供了有关如何使用 Service Manager 创作工具自定义和创作表单的指南,并介绍了如何完成常见的创作任务。
在 Service Manager 创作工具中创作表单时,请使用以下准则。 有关 Windows Presentation Foundation (WPF) 窗体的工作原理和 WPF 自定义指南的详细信息,请参阅 MSDN 上的 Windows Presentation Foundation 。
- 通过添加新控件自定义现有默认窗体时,请先创建新的 Tab 控件,然后将新控件添加到新的 Tab 控件。
- 将所有特定表单的自定义项存储在单个管理包中。
- 在 面板 控件中对相关控件进行分组,以便更好地将它们作为组进行处理。
- 只能在容器中删除控件,例如 面板 容器控件。
- 将以下一个或多个控件属性设置为“自动”以允许动态调整放置:高度、宽度、最小高度、最小宽度、左、上、右和下。 根据产生的行为,调整这些设置。
浏览表单
使用以下过程之一浏览 Service Manager 创作工具中的窗体。 在这两个过程中,请确保根据绑定到所选控件的类属性更新“详细信息”窗格中的属性。 此外,“详细信息”窗格中的“绑定路径”条目指示窗体中字段所表示的相应属性。
从窗体浏览器浏览表单
- 如果“窗体浏览器”窗格不可见,请选择“视图”,然后选择“窗体浏览器”选项卡。
- 在 “窗体浏览器 ”窗格中,选择包含要查看的窗体的管理包。
- 在窗体列表中,右键单击要查看的窗体,然后选择“ 视图”。 表单在创作窗格中打开。
- 确保 “详细信息 ”窗格可见。 如果没有,请选择 菜单栏上的“视图 ”,然后选择“ 详细信息”窗口。 窗体的属性显示在“ 详细信息 ”窗格中。
- 选择表单上的控件。
从管理包资源管理器浏览表单
- 在创作工具中,选择“文件”,然后选择“打开”。
- 在 “打开管理包 ”对话框中,选择包含要查看的窗体的管理包。 例如,选择管理包作为文件类型,然后在 D:\Program Files (x86)\Microsoft System Center\Service Manager <版本> Authoring\Library 文件夹中选择 ServiceManager.ChangeManagement.Library.mp 管理包。
- 在 管理包资源管理器中,选择打开的管理包,然后展开 窗体。 右键单击要查看的窗体,然后选择“ 查看”窗体。 表单在创作窗格中打开。
- 确保 “详细信息 ”窗格可见。 如果没有,请选择 菜单栏上的“视图 ”,然后选择“ 详细信息”窗口。 窗体的属性显示在“ 详细信息 ”窗格中。
- 选择表单上的控件。
自定义窗体
可以使用 Service Manager 创作工具自定义窗体的某些属性。 例如,可以更改窗体字段的布局,并且可以向窗体添加图标。
若要自定义窗体,请打开包含原始表单定义的管理包文件。 完成自定义后,将更改保存到管理包文件。 如果在未密封的管理包中定义了原始窗体,请将自定义项保存到该管理包。 如果在密封管理包中定义了原始窗体,则必须将自定义项保存到已在创作工具中打开的未密封管理包或创建的未密封管理包。
若要在 Service Manager 中使用自定义窗体,请将包含自定义窗体的管理包导入 Service Manager 控制台。 然后,运行需要该窗体的任务时,将显示自定义窗体而不是默认窗体。
使用以下过程自定义现有窗体。
重要
不能同时对同一窗体执行两个自定义。 此外,“创作工具”选项 “撤消所有自定义 项不会完全删除管理包中的信息。 如果要删除所有项目,请删除自定义窗体,这会从管理包中删除它和任何关联的类型投影。
自定义现有窗体
- 在创作工具中,选择“文件”,然后选择“打开”。
- 在 “打开文件 ”对话框中,选择包含要自定义的窗体的管理包,然后选择“ 打开”。 例如,选择“更改管理库管理包”。 路径可能是 创作工具安装驱动器\程序文件 (x86)\Microsoft System Center\Service Manager <版本> Authoring\Library\ServiceManager.ChangeManagement.Library.mp。
- 找到想要使用 窗体浏览器 或 管理包资源管理器自定义的窗体,如下所示:
使用表单浏览器:- 在窗体浏览器中,选择“所有管理包”或选择要自定义的窗体的管理包,例如 Service Manager 更改管理库管理包。
- 右键单击要自定义的窗体,例如以 ChangeRequestForm 结尾的窗体,然后选择“视图”。
- 在创作窗格中,选择“ 自定义”。
使用管理包资源管理器:- 在 “管理包资源管理器” 窗格中,选择包含要自定义的窗体的管理包,例如 Service Manager 更改管理库 管理包。
- 展开窗体,然后右键单击要自定义的窗体,例如以 ChangeRequestForm 结尾的窗体。
- 选择自定义。
- 在 “目标管理包 ”对话框中,选择要在其中保存此自定义项的未密封管理包,然后选择“ 确定”。
在 “管理包资源管理器” 窗格中,新的窗体项将显示在 指定为目标管理包的管理包的窗体 列表中。 新窗体的名称以字符串 (自定义)结尾。 - 在创作窗格中,可以重新排列窗体上控件的位置,以更改窗体的外观和行为。 此外,可以通过执行以下操作将控件添加到窗体:
- 从 “窗体自定义工具箱” 窗格中拖动控件。
- 从 “类浏览器” 窗格中拖动特定属性。 这将根据拖动的属性自动创建和绑定控件。
创建新窗体
如果定义了用于扩展 Service Manager 的新自定义类,则可能需要创建自定义窗体才能与该类进行交互。 可以使用 Service Manager 创作工具使用以下任一方法创建窗体:
- 从基类开始。
- 加载最初由 Microsoft Visual Studio 开发系统开发的自定义 Windows Presentation Foundation(WPF)窗体,并继续在创作工具中自定义该窗体。
创作工具包括窗体控件,如 复选框、 日期选取器、 选项卡控件和 选项卡项,可添加到窗体中。 可以从窗体自定义工具箱访问这些控件。 通常,将窗体控件绑定到窗体基类的特定属性。 因此,使用任一方法,必须先为要关联的窗体选择基类。 有关可添加到窗体的控件的详细信息,请参阅本文前面的部分,例如 如何向创作工具 中的窗体添加复选框控件, 以及如何将选项卡控件和选项卡项控件添加到创作工具中的窗体。
以下部分介绍如何在创作工具中创建新窗体。
从基类创建新窗体
注意
从基类创建表单时,创作工具不支持高级功能。 例如,不支持代码隐藏、复杂的规则,例如字段相互依赖或计算值。
若要从基类创建新窗体,请执行以下步骤:
- 在管理包资源管理器中,展开要在其中存储新窗体的管理包。 右键单击 “窗体”,然后选择“ 创建”。
- 在 “基类 ”对话框中,选择窗体的基类。 可以通过选择特定的管理包来缩小搜索范围,也可以保留默认 的“所有管理包”。 选择“确定”。
- 如果在步骤 1 中选择了密封的管理包, 将显示“目标管理包 ”对话框。 选择要在其中存储窗体的未密封管理包,然后选择“ 确定”。
- 在 “创建窗体 ”对话框中的 “内部名称 ”框中,输入窗体的名称,然后选择“ 创建”。
初始空白窗体显示在创作窗格中。 初始窗体由顶部的标题部分和下方的正文部分组成:这两个部分均为空白。 - 通过将控件从 “窗体自定义工具箱” 窗格拖动到新窗体来自定义窗体。
- 保存包含所创建窗体的管理包。
创建基于自定义 WPF 窗体的新窗体
有时,简单窗体是不够的,并且必须在窗体中使用高级功能,例如自定义逻辑。 在这种情况下,可以使用创作工具以外的工具而不是使用 Visual Studio 开发自定义 WPF 窗体。 然后,无需从基类创作表单,而是将 WPF 窗体的程序集文件加载到创作工具中,并将其用作进一步自定义表单的起点。 你在创作工具中创建的表单自定义项存储在管理包文件中。
稍后,若要在 Service Manager 中使用自定义窗体,完成所有自定义项后,必须将原始表单程序集文件与包含创作工具中所做的自定义项的管理包捆绑在一起。 有关捆绑管理包和创建 .mpb 文件的详细信息,请参阅 如何捆绑管理包和资源文件。
若要创建基于自定义 WPF 窗体的新窗体,请执行以下步骤:
- 在 管理包资源管理器中,展开要将自定义项存储在窗体中的管理包。 右键单击 “窗体”,然后选择“ 添加自定义”。
- 在 “基类 ”对话框中,选择窗体的基类。 可以通过选择特定的管理包来缩小搜索范围,或保留默认 的“所有管理包”。 选择“确定”。
- 如果在步骤 1 中选择了密封的管理包, 将显示“目标管理包 ”对话框。 选择要在其中存储窗体的未密封管理包,然后选择“ 确定”。
- 在“ 添加自定义窗体 ”对话框中,在 “内部名称 ”框中输入名称。 在 “程序集 ”框中,选择包含要加载的自定义窗体的程序集文件,然后在 “类型” 框中,从要加载的程序集文件中选择要加载的窗体的名称。 选择创建。 所选窗体现在显示在创作窗格中。
- 通过将控件从 “窗体自定义工具箱” 窗格拖动到创作窗格上的窗体来自定义窗体。
- 保存包含窗体自定义项的管理包。
- 捆绑表单的原始程序集文件、包含你在创作工具中创建的表单自定义项的管理包以及创建 .mpb 文件所需的任何其他资源文件。
向窗体添加复选框控件
Service Manager 创作工具中的复选框控件显示窗体上的选项,允许用户选择该选项。 可以修改复选框控件的属性,以自定义复选框中显示的标签等特征。
若要向窗体添加复选框控件,请执行以下步骤:
- 确保“ 窗体自定义工具箱 ”窗格处于打开状态,并且要自定义的窗体在创作窗格中处于打开状态。
- 将 “复选框” 图标从 “窗体自定义工具箱” 窗格拖到窗体。 选择 窗体上的复选框 控件。
- 在 “详细信息 ”窗格中,选择 “内容” 属性并将其值设置为将在复选框中显示的文本。
- 在 “详细信息 ”窗格中,选择 “绑定路径” 属性,然后选择省略号按钮(...)。在 “绑定路径 ”对话框中,展开类,然后选择 要绑定到的控件的布尔 属性。
注意
Content 属性自动设置为控件绑定到的属性的显示名称。
- 在“详细信息”窗格中选择任何其他属性(如 Font Family),以自定义复选框控件的属性。
- 选择“ 文件”,然后选择“ 全部 保存”,将自定义窗体保存到管理包。
向窗体添加日期选取器控件
Service Manager 创作工具中的日期选取器控件用于在窗体上显示日期。 可以修改日期选取器控件的属性,以自定义显示日期的格式等特征。
若要向窗体添加日期选取器控件,请执行以下步骤:
- 确保窗体 自定义工具箱 窗格处于打开状态,并且要自定义的窗体在创作窗格中处于打开状态。
- 将 “日期选取器 ”图标从 “窗体自定义工具箱” 窗格拖到窗体。 选择 窗体上的日期选取器 控件。
- 在 “详细信息 ”窗格中,选择 “绑定路径” 属性。 选择省略号按钮(...),然后在“绑定路径”对话框中,选择希望日期选取器控件绑定到的类属性。
- 在“详细信息”窗格中选择任意属性(如日期格式),以自定义日期选取器控件的属性。
- 选择“ 文件”,然后选择“ 全部 保存”,将自定义窗体保存到管理包。
向窗体添加图像控件
Service Manager 创作工具中的图像控件用于显示图像。 可以修改图像控件的属性,以自定义显示的位置、大小和图像等特征。
若要向窗体添加图像控件,请执行以下步骤:
- 确保窗体 自定义工具箱 窗格处于打开状态,并且要自定义的窗体在创作窗格中处于打开状态。
- 将 “图像 ”图标从 “窗体自定义工具箱” 窗格拖到窗体。
- 在 “插入图像 ”对话框中,指定图像图像文件的路径。
注意
所选图像将显示在窗体上。
- 在“详细信息”窗格中选择任意属性以自定义图像控件的其他属性。
- 选择“ 文件”,然后选择“ 全部 保存”,将自定义窗体保存到管理包。
向窗体添加标签控件
Service Manager 创作工具中使用标签控件在窗体上显示标签。 可以修改 Label 控件的属性,以自定义标签显示的文本字符串等特征。
若要向窗体添加标签控件,请执行以下步骤:
- 确保窗体 自定义工具箱 窗格处于打开状态,并且要自定义的窗体在创作窗格中处于打开状态。
- 将 “标签” 图标从 “窗体自定义工具箱 ”窗格拖到窗体。 选择 窗体上的“标签” 控件。
- 在 “详细信息 ”窗格中,选择 “绑定路径” 属性。 选择省略号按钮(...),然后在“绑定路径”对话框中,选择希望 Label 控件绑定到的类属性。
或者,如果希望 Label 控件显示静态字符串,请选择 Content 属性并输入字符串以替换默认Label_1字符串。 它将显示在窗体上。 - 在“详细信息”窗格中选择任何其他属性以自定义标签控件的属性。
- 选择“ 文件”,然后选择“ 全部 保存”,将自定义窗体保存到管理包。
向窗体添加列表选取器控件
Service Manager 创作工具中的列表选取器控件是一个自定义控件,用于从预先填充的项列表中选择项。 可以修改列表选取器控件的属性以自定义控件的特征。
要设置的控件的特征之一是将填充 要创建的列表选取器 控件的项列表。 可以选择现有列表(例如 活动优先级 列表),也可以在创建控件时创建新列表。
若要将列表项添加到新建的列表,必须使用 Service Manager 控制台。 不能使用创作工具将列表项添加到新创建的列表。 有关使用 Service Manager 控制台添加列表项的详细信息,请参阅 “如何添加列表项”。
若要向窗体添加列表选取器控件,请执行以下步骤:
- 确保窗体 自定义工具箱 窗格处于打开状态,并且要自定义的窗体在创作窗格中处于打开状态。
- 将 “列表选取器 ”图标从 “窗体自定义工具箱 ”窗格拖到窗体。 选择 窗体上的列表选取器 控件。
- 在“详细信息”窗格中,选择“列表类型”属性,然后选择省略号按钮(...)。在“选择列表”对话框中,选择要填充要创建的列表选取器控件的项列表。 从 “可用列表”列表中选择一个列表 。
选择“确定”。 - 选择任何其他属性,如“详细信息”窗格中的“宽度”或“高度”,以自定义列表选取器控件的其他属性。
- 选择“ 文件”,然后选择“ 全部 保存”,将自定义窗体保存到管理包。
向窗体添加面板控件
Service Manager 创作工具中的面板控件是一个布局控件,可帮助你管理一组相关控件。 通常,在面板控件上的窗体上拖动和放置多个具有相关用途的控件。 然后,如果需要移动面板上的控件,而不是单独移动每个控件,则可以移动 面板 控件。
若要向窗体添加面板控件,请执行以下步骤:
- 确保窗体 自定义工具箱 窗格处于打开状态,并且要自定义的窗体在创作窗格中处于打开状态。
- 将“窗体自定义工具箱”窗格中的“面板”图标拖到窗体。 现在可以在 面板 控件上添加其他控件。
向窗体添加单个实例选取器控件
Service Manager 创作工具中的单个实例选取器控件是自定义控件。 它用于显示特定类的实例列表,并允许用户从该列表中选择一个实例。 此控件类似于 用户选取器 控件,而不是基于 User 类,而是基于你指定的任何类,包括自定义类。 可以修改单个实例选取器控件的属性,以自定义其实例将填充列表的特征,例如类。
若要将单个实例选取器控件添加到窗体,请执行以下步骤:
- 确保窗体 自定义工具箱 窗格处于打开状态,并且要自定义的窗体在创作窗格中处于打开状态。
- 将“窗体自定义工具箱”窗格中的“单个实例选取器”图标拖到窗体。 选择 窗体上的单个实例选取器 控件。
- 在 “详细信息 ”窗格中,选择 “绑定路径” 属性,然后选择省略号按钮(...)。在 “绑定路径 ”对话框中,选择其实例将在窗体上填充控件的实例列表的相关类。
- 在“详细信息”窗格中选择任何其他属性(如“宽度”或“高度”)以自定义单实例选取器控件的其他属性。
- 选择“ 文件”,然后选择“ 全部 保存”,将自定义窗体保存到管理包。
向窗体添加选项卡控件和选项卡项控件
Tab 控件控件与选项卡项控件结合使用,用于在 Service Manager 创作工具中以表格形式排列视觉内容。 可以修改这些控件的属性以自定义外观和布局等特征。 通常,Tab 控件控件附带多个选项卡项控件,这些控件允许选择 Tab 控件中的单个项。
向窗体添加 Tab 控件控件
- 确保窗体 自定义工具箱 窗格处于打开状态,并且要自定义的窗体在创作窗格中处于打开状态。
- 将 “选项卡控件” 图标从 “窗体自定义工具箱 ”窗格拖动到窗体。 选择 窗体上的 Tab 控件 控件。
- 在“详细信息”窗格中选择任意属性以自定义 Tab 控件控件的属性。
- 选择“ 文件”,然后选择“ 全部 保存”,将自定义窗体保存到管理包。
向窗体添加 Tab 项控件
- 按照上一过程所述添加 Tab 控件 控件,然后在窗体上将其选中。
- 从“窗体自定义工具箱”窗格中拖动选项卡项图标,并将其拖放到应与之关联的 Tab 控件控件上。
- 右键单击 选项卡项 控件,然后选择“ 编辑内容”。 输入要在选项卡项上显示为标签的文本。 在“详细信息”窗格中选择任意属性以自定义 Tab 项控件的其他属性。
- 选择“ 文件”,然后选择“ 全部 保存”,将自定义窗体保存到管理包。
向窗体添加文本框控件
Service Manager 创作工具中使用文本框控件进行文本显示和编辑。 可以修改控件的属性以自定义特征,例如位置、大小、包装行为和文本框控件的文本。
若要向窗体添加文本框控件,请执行以下步骤:
- 确保窗体 自定义工具箱 窗格处于打开状态,并且要自定义的窗体在创作窗格中处于打开状态。
- 将 “文本框” 图标从 “窗体自定义工具箱” 窗口拖动到窗体。 选择 窗体上的文本框 控件。
- 通过执行下列操作之一来设置文本字符串:
- 在 “详细信息 ”窗格中,选择 “绑定路径” 属性。 选择省略号按钮(...),然后在“绑定路径”对话框中,选择希望文本框控件绑定到的类属性。
- 选择 Text 属性。 选择默认 的文本框 字符串值并将其替换。
注意
现在输入的新字符串值将显示在窗体上。
- 选择“接受 ENTER 键”属性,并将其值设置为 True。 在已部署的窗体中,此值允许用户输入多行文本。
- 在“详细信息”窗格中选择任何其他属性(如水平滚动条可见性和最大线条),以自定义文本框控件的其他属性。
- 选择“ 文件”,然后选择“ 全部 保存”,将自定义窗体保存到管理包。
将用户选取器控件添加到窗体
用户选取器控件是一个 Service Manager 自定义控件,用于从用户的下拉列表中选择用户。 可以在 Service Manager 创作工具中修改用户选取器控件的属性,以自定义要绑定到的特征,如布局和用户列表。
若要将用户选取器控件添加到窗体,请执行以下步骤:
- 确保窗体 自定义工具箱 窗格处于打开状态,并且要自定义的窗体在创作窗格中处于打开状态。
- 将 “用户选取器 ”图标从 “窗体自定义工具箱 ”窗格拖到窗体。 选择 窗体上的“用户选取器” 控件。
- 在 “详细信息 ”窗格中,选择 “绑定路径” 属性,然后选择省略号按钮(...)。在 “绑定路径 ”对话框中,选择表示希望此控件绑定到的用户实例的相关用户类。 在已部署的窗体上,用户可以使用此控件查看和选取指定相关用户类的用户实例之一。
- 在“详细信息”窗格中选择任意属性以自定义用户选取器控件的属性。
- 选择“ 文件”,然后选择“ 全部 保存”,将自定义窗体保存到管理包。
后续步骤
自定义创作工具示例方案的默认事件表单。