在统一服务台自定义主题
发布日期: 2016年11月
适用于: Dynamics 365 (online),Dynamics 365 (on-premises),Dynamics CRM 2013,Dynamics CRM 2015,Dynamics CRM 2016
在 Unified Service Desk 中的主题定义代理应用程序的外观。 在 Unified Service Desk 中的主题包括 XAML 资源库,可放置在任何 Web 服务器和通过 URL 引用或编译到 .NET 程序集 (dll),并通过代理应用程序进行分布。
在 Unified Service Desk 2.2 中,预定义的 航空主题 支持高对比度模式。Windows 中的高对比度模式通过提高颜色对比度,帮助您看清屏幕上的文本。 如果在计算机上开启了高对比度模式并且在使用 Air Theme,Unified Service Desk 客户端将自动切换到高对比度模式。 同样,如果在计算机上禁用高对比度模式,将导致 Unified Service Desk 客户端自动切换到普通显示模式。
备注
只有预定义的 航空主题 才支持 Unified Service Desk 客户端中普通模式与高对比度模式之间的自动切换。 如果在使用支持高对比度模式的自定义主题或自定义托管控件,仅当在计算机上切换到普通模式或高对比度模式之后重启了 Unified Service Desk 客户端时,才执行切换。详细信息:自定义主题的高对比度模式支持
本主题内容
Unified Service Desk 中预定义主题可用
设置预定义主题
在 Unified Service Desk 中自定义主题
测试自定义您的显示的操作调用
自定义主题的高对比度模式支持
Unified Service Desk 中预定义主题可用
Unified Service Desk 附带三个预定义主题。
航空主题
这是航空主题。 此主题支持高对比度模式。
蓝色主题
这是蓝色主题。 此主题不支持高对比度设置,并且在 Unified Service Desk 2.2 版中已弃用。详细信息:博客:弃用一些预定义的 Unified Service Desk 主题
样式主题
这是样式主题。 此主题不支持高对比度设置,并且在 Unified Service Desk 2.2 版中已弃用。详细信息:博客:弃用一些预定义的 Unified Service Desk 主题
设置预定义主题
全局管理器托管控件的“设置主题” 允许您在 Unified Service Desk 中设置主题。 您可以创建操作调用“SetTheme”操作,并使用以下语法传递“数据”字段中的预定义主题调用以设置预定义主题之一:
/UnifiedServiceDesk;component/Styles/<Theme_Style>.xaml
下表在操作调用中的“数据”字段提供语法以设置预定义主题:
主题 |
数据字段的语法 |
---|---|
天空 |
/UnifiedServiceDesk;component/Styles/AirStyle.xaml |
蓝色 |
/UnifiedServiceDesk;component/Styles/BlueStyle.xaml |
样式 |
/UnifiedServiceDesk;component/Styles/Style.xaml |
在示例 Unified Service Desk 客户端应用程序,代理可以通过单击右上角设置图标旁边的向下箭头来设置主题,然后从“设置主题”子菜单中选择预定义主题。
单击“设置主题”子菜单中的主题,用与前面提及的“数据”字段的相同适当语法来调用“SetTheme”操作。 例如,这是航空样式的操作掉要定义:
在 Unified Service Desk 中自定义主题
除了能偶从多个预定义主题选择之外,可在 Unified Service Desk 中自定义主体。 方法是更新选择性控件,然后将其与 Unified Service Desk 中的现有主题合并来自定义外观。Unified Service Desk 提供一个默认样式(XAML 文件)和一些 XAML brush 资源,可用于了解定义代理应用程序的外观的各种 WPF 控件和布局。 可在 User Interface Integration SDK 下载程序包找到 Unified Service Desk 应用程序、DefaultStyle.xaml 的默认样式,以及其他 XAML brush 资源。下载包并提取,以便在“UII\USD Developer Assets\USD Layout and Style Sheet”目录下查看文件及其内容。
备注
WPF 和 XAML 脚本是通过操控 XAML 文件中控件来自定义代理应用程序的显示所需的重要技能。
对全局管理器托管控件使用 SetTheme 操作自定义代理应用程序的默认样式。Unified Service Desk 支持将您的自定义和代理应用程序的现有主题或显示样式合并。 这有效地意味着您仅需指定您要与 ResourceDictionary 参考程序块一起更改的控件或区域,以自定义现有的显示样式。 有关 ResourceDictionary 的常规信息,请单击 ResourceDictionary 和 XAML 资源引用。
让我们创建操作调用,以将标题中文本和代理应用程序的肤色更改为黄色。 确保您具有 DefaultStyle.xaml 方便文件,因为我们会需要它。
登录到 Microsoft Dynamics 365。
转到“设置”>“Unified Service Desk”。
单击“操作调用”。
单击 新建 以创建操作调用。
在 新建操作调用 页面上,设置一般属性:
在 名称 字段中,键入 自定义显示的操作调用。
在“托管控件”字段中,选择“Dynamics 365 全局管理器”。 若您使用不同的名字命名全局管理器托管控件类型,请改为指定该名称。
在 操作 字段中,选择 SetTheme。
现将为自定义显示设置参数。 在 数据 字段中,复制以下 ResourceDictionary 引用:
<ResourceDictionary xmlns="https://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="https://schemas.microsoft.com/winfx/2006/xaml" xmlns:Microsoft_Windows_Themes="clr-namespace:Microsoft.Windows.Themes;assembly=PresentationFramework.Classic" xmlns:themes="clr-namespace:Microsoft.Windows.Themes;assembly=PresentationFramework.Luna" xmlns:ribbon="clr-namespace:Microsoft.Windows.Controls.Ribbon;assembly=RibbonControlsLibrary" xmlns:classic="clr-namespace:Microsoft.Windows.Themes;assembly=PresentationFramework.Classic" xmlns:shell="clr-namespace:Microsoft.Windows.Shell;assembly=Microsoft.Windows.Shell" xmlns:system="clr-namespace:System;assembly=mscorlib">
重要
在用于自定义默认样式的每个操作调用中必须包括此 ResourceDictionary 引用。
在之前复制 ResourceDictionary 引用之后,复制 数据 字段中的以下命令。
<SolidColorBrush x:Key="WindowBackgroundStyle" Color="Yellow"/>
这将使代理程序的肤色更改为黄色。 您将找到此命令,以设置 DefaultStyle.xaml 文件中 <!-- Region General --> 部分的背景颜色。
在先前步骤中您复制命令之后,复制以下命令:
<Style x:Key="MainWindow" TargetType="{x:Type Window}" BasedOn="{StaticResource {x:Type Window}}"> <Setter Property="Title" Value="CUSTOM TITLE: Agent Application for CONTOSO INC."/> <Setter Property="Icon" Value="/UnifiedServiceDesk;component/imageResources/dynamics16-32-48-256.ico"/> <Setter Property="FontFamily" Value="Segoe UI" /> </Style>
此将标题栏中的文本更改为“CUSTOM TITLE: Agent Application for CONTOSO INC.” 您将找到此命令以设置 <!-- Region Window --> section in the DefaultStyle.xaml file. 中的窗口标题。
通过在 数据 字段末尾 添加以下内容关闭 ResourceDictionary 标记:
</ResourceDictionary>
此为您操作调用定义的方式:
单击“保存”。
您已完成,并准备用于测试代理应用程序中的操作调用。
测试自定义您的显示的操作调用
您可通过创建工具栏按钮调用此操作,且随后对其附加操作调用。 为达简短的目的,我们将使用调适程序托管应用程序测试此操作调用。
启动 Unified Service Desk 客户端应用程序,并登录到您的 Dynamics 365 服务器。
在客户端应用程序中,通过单击右上角中设置菜单附近的下箭头,并单击 调试启动调试程序。
在调试程序中,请单击在 操作调用 选项卡上的下箭头,显示您可测试操作调用和 UII 操作的区域。
从 操作调用 下拉列表中,选择 自定义主题的操作调用,然后单击 运行操作调用 图标 ()。 改变标题栏中的文本和代理应用程序的皮肤颜色。
要撤销改变,选择客户端应用程序中预定义主体之一。
自定义主题的高对比度模式支持
Unified Service Desk 根据计算机上的高对比度模式设置,在内部使用普通模式和高对比度模式 XAML brush 资源显示其 UI 元素。 可以在 User Interface Integration SDK 下载包中找到 XAML brush 资源。下载包并提取,以便在“UII\USD Developer Assets\USD Layout and Style Sheet”目录下查看文件及其内容。
若要在自定义主题中支持高对比度模式,请考虑:
创建两个操作调用以设置自定义主题:一个用于普通模式,另一个用于高对比度模式。 例如,定义 XAML brush 的颜色属性时,使用:
Colors 类中为普通模式定义的一种预定义颜色:
<SolidColorBrush x:Key="WindowBackgroundStyle" Color="Yellow"/>
SystemColors 类中为高对比度模式定义的一种系统颜色:
<SolidColorBrush x:Key="WindowBackgroundStyle" Color="{x:Static SystemColors.WindowColor}"/>
可在每个操作调用定义中将新 $SystemParameters.HighContrast 替换参数用作条件来确保正确触发操作调用。 例如,在用于为以下对象设置自定义主题的操作调用定义中:
普通模式,使用“条件”字段中的以下信息检查计算机上是否未设置高对比度模式。
"[[$SystemParameters.HighContrast]g]"=="False"
高对比度模式,使用“条件”字段中的以下信息检查计算机上是否设置了高对比度模式。
"[[$SystemParameters.HighContrast]g]"=="True"
另请参阅
Customize themes for High Contrast settings
统一服务台配置演练
自定义应用程序的外观
托管控件类型和操作/事件引用
TechNet:Microsoft Dynamics CRM Unified Service Desk 管理指南
Unified Service Desk 2.0
© 2017 Microsoft。 保留所有权利。 版权