嘘…… 你听到了吗?这是我们最新的Infragistics Ultimate for WPF 18.1被释放到野外的声音。就像大象踩踏一样,WPF 18.1发布的Infragistics Ultimate UI包含了新的控件和功能,可以为您的应用程序提供击败竞争对手所需的优势。就其本身而言,这些新的控件和功能是美丽的,雄伟的,并受到儿童和成人的赞赏。在一起,他们是一支不可阻挡的力量,即使是最强大的对手也会感到恐惧。
现在,让我们驯服这群雄伟的野兽,并了解Infragistics Ultimate for WPF 18.1中提供的所有出色的新控件和功能。
财务图表
首先是我们全新的xamFinancialChart。这个坏男孩是一个轻量级的,高性能的图表,用于显示财务数据使用一个非常简单和直观的API。所有你需要做的是绑定你的数据 (一个集合或集合的集合),图表照顾一切。
如您所见,xamFinancialChart几乎包含了可视化财务数据所需的所有内容。位于图表顶部上方的工具栏用于显示配置选项,例如您选择的指标和叠加、日期范围、图表类型、交易量和要使用的趋势线类型。位于图表底部的是一个可选的导航视图,用作缩放栏,允许最终用户放大或缩小其所需范围。
显然,这是金融业的梦想图。
Excel库/XamSpreadsheet
接下来可能是我们在大约五年内打包到一个组件中的最令人印象深刻的工作量。从技术上讲,这里有两个组件正在改进。第一个是Excel库,另一个是xamSpreadsheet控件。显然,我们不能在不首先将功能添加到Excel库的情况下将功能添加到xamSpreadsheet。因此,请记住,您在这里看到的每个功能都可以在Excel库和xamSpreadsheet中使用。
条件格式
条件格式允许您根据单元格值自动将格式 (如颜色、图标和数据条) 应用于一个或多个单元格。为此,您需要创建条件格式设置规则。例如,条件格式设置规则可能是: 如果值小于 $2000,则将单元格涂成红色。通过应用此规则,您将能够快速查看哪些单元格包含小于 $2000的值。很基本的东西对吗?那么,最好的部分是xamSpreadsheet支持呈现Microsoft Excel中可用的所有条件格式设置功能。Microsoft Excel具有多个预定义样式或预设,可用于快速将条件格式应用于数据。它们分为三类:
数据条是添加到每个单元格的水平条,很像条形图。
色阶根据其值更改每个单元格的颜色。每个色阶使用两色或三色渐变。例如,在绿色-黄色-红色色标中,最高值是绿色,平均值是黄色,最低值是红色。
图标集根据其值为每个单元格添加特定图标。
格式单元格对话框
添加到xamSpreadsheet中的我最喜欢的新功能之一是新的格式单元格对话框。这使得更改数据在单元格中的显示方式变得非常容易。例如,可以指定小数点右侧的位数,也可以向单元格添加图案和边框。要显示此对话框,只需右键单击单元格并选择单元格格式从上下文菜单。让我们看一下 “新格式单元格” 对话框中有哪些可用选项。
数字选项卡
默认情况下,所有工作表单元格都使用常规数字格式进行格式化。使用常规格式,您在单元格中键入的任何内容通常都保持不变。例如,如果在单元格中键入36526,然后按ENTER,则单元格内容将显示为36526。这是因为单元格保持通用数字格式。但是,如果您首先将单元格格式化为货币,则数字36526将显示为 $36,526.00。
对齐选项卡
您可以使用 “对齐” 选项卡在单元格中定位文本和数字、更改方向和指定文本控件
字体选项卡
术语 “字体” 是指字样 (例如Arial) 及其属性 (字体样式、磅值、下划线、颜色和效果)。使用 “设置单元格格式” 对话框中的 “字体” 选项卡控制这些设置。您可以通过查看对话框的预览部分来查看设置的预览。
边框选项卡
在Excel中,您可以在单个单元格或一系列单元格周围放置边框。您还可以从单元格的左上角到右下角绘制一条线,或者从单元格的左下角到右上角绘制一条线。
通过更改线条样式、线条粗细或线条颜色,可以从默认设置自定义这些单元格的边框。
填充选项卡
使用 “设置单元格格式” 对话框中的 “填充” 选项卡设置所选单元格的背景颜色。您还可以使用图案列表为单元格的背景应用双色图案或底纹。
保护选项卡
“保护” 选项卡为您提供了一个保护工作表数据和公式的选项。但是,除非您同时保护工作表,否则此选项不会生效。
工作表筛选
虽然我们总是在Excel库中提供过滤,但它仅适用于工作表表格中的过滤。我们扩展了过滤行为,允许您在表外的工作表中定义一个可以过滤的区域。如您所料,您可以对一个或多个数据列进行筛选。通过过滤,您不仅可以控制要查看的内容,还可以控制要排除的内容。您可以根据从列表中做出的选择进行筛选,也可以创建特定的筛选器以精确地关注要查看的数据。对于将颜色格式应用于其背景或文本的单元格,可以按数值、文本值或颜色进行筛选。
不仅如此,我们还在新的和改进的上下文菜单中提供了一些内置的过滤器选项:
文本筛选器
数字筛选器
日期筛选器
自定义筛选器对话框
工作表排序
除了添加出色的过滤支持外,我们还改进了排序支持。新的排序菜单项将根据显示菜单的活动单元格的值/状态设置关联列的排序。因此,选择排序A到Z将为该列创建一个升序值排序。
自动筛选支持
即使所有这些巨大的内置的排序和过滤功能,从一个简单的上下文菜单访问,我们也有自动过滤支持在一个工作表表格。这意味着现在工作表表格的标题和工作表级别过滤区域的标题单元格将显示一个下拉按钮,该按钮显示与过滤器相关的菜单。按钮显示排序和筛选状态,工具提示显示该列的筛选器的友好描述。菜单显示用于排序和过滤的各种选项。显示的筛选器选项依赖于列中的数据类型,因为它们在excel中。因此,您将看到可用的数字过滤器、文本过滤器或日期过滤器之一,具体取决于表列中的数据。
表改进
使用Excel时,表格无处不在。一旦您开始使用我们的xamSpreadsheet的18.1版本,您将看到我们真的加强了我们的基于表的功能,使您的最终用户在xamSpreadsheet控件中使用表时更加高效。
复制/粘贴
现在,当源选择包含整个表时,将复制表。因此,选择整个表格 (例如,单击单元格,按ctrl两次),将其复制到剪贴板,然后粘贴到其他位置,并创建该表格的新副本。在工作表表格中粘贴将自动扩展表格以包含粘贴区域。
编辑
紧邻工作表表格的底部/右边缘键入/编辑将扩展表格 (在类似于Excel的单独可撤消操作中)。
选项卡导航
表内的Tab键导航将在表内导航到下一行/前一行。与Excel类似,从表格的最后一个可见单元格按标签时,表格也将自动展开。
总计行公式
这是我最喜欢的新表功能之一。在Excel中,当表格的 “总计” 行中的某个单元格处于活动状态时,将显示一个下拉按钮,可让您为表格选择常用公式。当单元格处于活动状态时,可以通过单击下拉按钮或按下Alt来显示它。
上下文菜单改进
为了真正提高您的工作效率,添加了其他上下文菜单项,以允许您操作表。这包括用于向表格插入和添加行和列、选择表格行/列、切换总计行、将表格转换为范围等的菜单项。表格单元格上下文菜单类似于单元格上下文菜单,不同之处在于,当活动单元格是工作表表格的一部分时,会显示该菜单。该菜单还有许多与影响表格相关的新命令。
列表验证
在Excel中,可以定义一种称为列表数据验证的特定类型的数据验证,该数据验证包含显式值列表或指向包含值的单元格区域。在该验证上有一个选项,用于是否显示单元格下拉列表。数据验证类已经在我们的excel引擎中使用了很长时间,电子表格在编辑过程中使用验证已经有一段时间了,但是我们从未显示过列表,因此最终用户必须知道有效值列表。现在我们支持显示一个下拉按钮,该按钮将显示值的下拉列表。当单元格处于活动状态时,可以通过单击下拉按钮或按下Alt来显示它。
单元格下拉菜单
我们还添加了在单元格中显示下拉列表的功能,该单元格填充了来自活动单元格正上方和下方的值的数据。显示此单元格下拉列表的一种方法是通过使用 “从下拉列表中选择…” 项的单元格的上下文菜单,另一种方法是按Alt向下。您没有像使用列表数据验证那样明确定义列表的内容-它以与Excel相同的方式基于上方/下方的单元格隐式填充。与Excel一样,它忽略数值,停在空白和表格边界等。
我知道这是一吨优秀的Excel和xamSpreadsheet功能吸收,但我们还没有完成。我们仍然必须涵盖我们在WPF 18.1的Infragistics Ultimate UI中提供的其余功能。
XamDataGrid
如果您是Infragistics的客户超过一天,您就知道xamDataGrid是我们的WPF旗舰网格。因此,我们在每个版本中继续为其添加重要的新功能也就不足为奇了。查看最新功能以加入xamDataGrid系列。
单元格合并
你可能已经看到我的最后一篇文章标题为“XamDataGrid与XamGrid: 我应该选择哪个WPF网格?”,其中我告诉您使用xamDataGrid,并停止使用xamGrid。在这篇文章中,我承认xamDataGrid缺少三个关键功能: 单元格合并、条件格式和分页。好吧,我很高兴地宣布,我们是一个功能,更接近于通过添加单元格合并来缩小xamGrid和xamDataGrid之间的功能奇偶校验差距。
单元格合并是Microsoft Excel中的一个常见功能,它允许您通过在显示匹配值时合并不同行中的相邻数据单元格来提供数据清晰度并避免重复。虽然Excel使此功能出名,但现在在数据网格中显示数据的上下文中,它是一个非常常见的请求。随着Infragistics Ultimate UI for WPF的发布,xamDataGrid完全支持单元格合并。
启用单元格合并与设置FieldSettings.MergedCellMode属性一样简单。此属性将控制如何以及何时启用单元格合并。如果MergedCellMode属性设置为 “始终”,则列中具有匹配值的任何单元格集将被合并,而不管它们在列中的位置如何。当设置为 “OnlyWhenSorted” 时,单元格将仅在列已排序时合并,并且由于排序操作,具有相同值的所有单元格都处于连续顺序。当然,您可以通过将MergedCellMode属性设置为 “从不” 来关闭单元格合并,这实际上是默认值。
启用单元格合并时,默认情况下,如果相邻同级数据记录显示的文本相同 (DisplayText值),则合并单元格。可以通过设置FieldSettings.MergedCellEvaluationCriteria属性来更改此设置。此属性允许您根据单元格的原始值、单元格的转换值或甚至根据EditAsType值转换值的结果更改用于合并单元格的逻辑。
图像字段
在用于WPF 18.1的终极UI之前,如果您想在xamDataGrid中使用图像,则必须创建一个TemplateField并处理用于呈现图像的所有逻辑以满足您的特定应用程序需求。虽然这工作,它需要大量的代码,必须手动编写处理每个图像加载方案,如从ImageSource加载,一个Uri,一个字符串,本地资源,甚至一个字节数组。老实说,这是一个痛苦的屁股!
随着Ultimate UI for WPF 18.1的发布,您现在可以使用新的ImageField来呈现图像,只需使用基础绑定对象中的属性,并从应用程序中删除所有自定义代码。图像的来源是什么并不重要; ImageField可以处理它。
在下面的代码段中,ImageField.Name设置为基础模型中的一个属性,该属性表示图像的加载方式。
<igDP:ImageField Name = "ImageSource" /><igDP:ImageField Name = "ImageUri" /><igDP:ImageField Name = "ImageUriString" /><igDP:ImageField Name = "ImageRelativeUri" BaseUri = " https://static.infragistics.com/marketing/Website/home/ "/><igDP:ImageField Name = "ImageByteArray" />
通过添加ImageField,我们在xamaDataGrid中使用图像变得简单!
XamDataGrid控件配置器
如您所知,xamDataGrid是一个功能丰富的高性能数据网格,可满足要求苛刻的企业业务线应用程序的需求。对于新用户甚至是经验丰富的退伍军人来说,API和庞大的功能集可能是压倒性的。使用xamDataGrid控件配置器,我们可以简单地绑定数据,添加字段和字段布局,并通过单击按钮打开和关闭最基本的功能。当你完成添加你想要的功能,你只需点击 “应用 & 关闭” 按钮,所有的代码将为您生成。
你的下一个问题可能是,“我如何得到它?”
如果你已经安装了Infragistics控制配置器,那么你不必做任何事情。Visual Studio扩展将通过Visual Studio Marketplace自动更新。如果尚未安装控件配置器,可以直接从Visual Studio中或访问Visual Studio市场下载并安装它们。
XamRichTextEditor新属性
并非每个控件都需要大量大量功能来增加价值,而最新的xamRichTextEditor功能证明了这一点。
接受stab
AcceptsTab属性将控制在键盘上按下Tab键时xamRichTextEditor的行为。默认情况下,如果您位于xamRichTextEditor中并按Tab键,则每次按Tab键时,文本都将缩进。如果将AcceptsTab属性设置为False,则文本将不再缩进,而是具有较高TabIndex的下一个控件将获得焦点。
接受返回
AcceptsReturn属性控制按下Enter键时对xamRichTextEditor内容的影响。默认情况下,如果您位于xamRichTextEditor中并按Enter键,则会输入一个新行,将光标移动到新位置,您可以继续在xamRichTextEditor中键入内容。如果AcceptsEnter属性设置为false,如果按Enter键,则不会创建任何新行,并且光标不会更改。它不执行任何操作,并且不会对xamRichTextEditor的内容产生任何影响。
XamRibbon改进
xamRibbon MenuTool获得了一个小但非常有用的功能,该功能允许您控制单击菜单工具时菜单是否关闭。假设您有一个包含CheckboxTools集合的MenuTool,这些集合表示多选方案,例如打开支持的剪贴板操作,如以下代码段所示。
<igRibbon:MenuTool Caption = "剪贴板操作"><igRibbon:CheckBoxTool Content = "Cut" /><igRibbon:CheckBoxTool Content = "Copy" /><igRibbon:CheckBoxTool Content = "Paste" /><igRibbon:CheckBoxTool Content = "ClearContents" /></igRibbon:MenuTool>
预期的体验是,当打开MenuTool并选择一个选项时,MenuTool应保持打开状态,因为您选择了更多选项。但是,使用此代码段,一旦选中CheckBoxTool,MenuTool将关闭,您将不得不重新打开MenuTool以进行另一次选择,然后继续此过程,直到选中/取消选中所有所需的选项。
使用新的MenuToolBase.StaysOpenOnClick附加属性; 现在,您可以完全控制在选择某个选项时关闭MenuTool的时间。只需将此附加属性添加到单击时将保持MenuTool打开的工具。我们可以使用新的MenuToolBase.StaysOpenOnClick附加属性修改原始代码片段,以实现我们想要的结果。
<igRibbon:MenuTool Caption = "剪贴板操作"><igRibbon:CheckBoxTool Content = "Cut" igRibbon:MenuToolBase.StaysOpenOnClick = "True"/><igRibbon:CheckBoxTool Content = "Copy" igRibbon:MenuToolBase.StaysOpenOnClick = "True"/><igRibbon:CheckBoxTool Content = "Paste" igRibbon:MenuToolBase.StaysOpenOnClick = "True"/><igRibbon:CheckBoxTool Content = "ClearContents" igRibbon:MenuToolBase.StaysOpenOnClick = "True"/></igRibbon:MenuTool>
现在,无论这些CheckBoxTools被选中/取消选中多少次,MenuTool都不会关闭,直到您单击应用程序中的另一个元素。您还可以在同一个MenuTool中混合和匹配附加属性。只有具有附加属性的工具不会关闭MenuTool,任何没有附加属性的工具都将关闭它。
Ahhhhh… 现在这是一个更好的体验!
WPF NuGet包改进
我们历史上已经发布了WPF NuGet包与我们的Infragistics平台安装程序。安装程序只会在您的C驱动器上放置一个zip文件夹,您可以解压缩并放入您选择的文件夹中,然后您可以使用该文件夹在Visual Studio中创建自定义NuGet包源。
虽然这工作,经验可以更好。所以我们做得更好!随着Infragistics Ultimate 18.1的发布,我们现在将NuGet包放在本地文件夹中,将所有WPF NuGet包复制到其中,并在Visual Studio中自动为您创建NuGet包源。你不需要动一根手指。一切都是为了你.更好的是,我们还将用于WPF 18.1 NuGet软件包的Infragistics Ultimate UI放置在我们公开的NuGet feed上,您可以使用它代替本地feed。这对于更快地获取更新的NuGet包非常有用。
让我们把这个孩子包起来!
正如我一直想指出的那样,如果您对我们应该为我们的控件带来的新功能有想法,我们需要解决的重要问题,甚至是您希望我们介绍的全新控件,请在我们的网站上发布产品创意。通过 @ infragistics在Twitter上关注并与我们互动。您也可以直接在Twitter上 @ brianlagunas关注并与我联系。此外,请确保通过我们的社区论坛与我们的各个团队联系,在那里您可以与Infragistics工程师和其他客户进行互动。
如果您还没有使用我们的WPF控件,请记住免费评估下载只需单击即可
最后,当您使用我们的控件构建一些很酷的东西时,请确保让我知道。