跳至正文
首页 » 博客 » What’s New in Infragistics WPF 16.1

What’s New in Infragistics WPF 16.1

哇…… 已经2016了吗?这似乎就像昨天我在谈论所有伟大的东西,我们在最后15.2发布的Infragistics WPF。现在,是时候看看我们在过去几个月里一直在做的所有好东西了。老实说,在16.1,我们真的做了自己。我们添加了一些最令人兴奋的,脸部融化,令人瞠目结舌的功能,这些功能会让你想拍你的妈妈!为了防止你的心脏停止,我会开始缓慢,然后我的工作方式最酷的功能。

量规针头拖动

首先是xamLinearGauge和xamRadialGauge控件的一个小但非常有用的功能。仪表控件一直是可视化某些类型数据的一种流行且简单的方法。如果您使用过这些控件,您就会知道它们甚至有一个漂亮的小针元素,可以让您在刻度上指示一个值。这真的很有帮助。问题是,虽然他们看起来很棒,那些针做他们的工作指出的价值,你的第一个本能与控制交互是使用鼠标点击并拖动针的位置。你很快就会意识到你不能!说什么?你在开玩笑吧?我是认真的,心脏病发作。针没有可拖动和重新定位的内置功能。我的意思是,从技术上讲,我们在WPF示例浏览器中有一个示例,您可以复制并粘贴大约100行代码来手动执行,但这太疯狂了。

值得庆幸的是,我们有一些客户向我报告了这一点,我们得到了修复。现在可以将全新的IsNeedleDraggingEnabled属性设置为启用针头拖动,方法是使用鼠标以交互方式拖动针头以指示新值。您现在可以轻松地知道,您将不再有红色标记在您的额头上从您的手掌每次您想要添加针拖动到WPF仪表控件。

XamTabControl选项卡拖动

另一个原因,你可能有一个红色的标记在你的额头从面部掌,是我们的xamTabControl不支持点击和拖动一个TabItem用鼠标重新排序的能力。我是说,拜托…… 这是2016年对吗?这是我们在这里讨论的标准选项卡控件。为什么我们之前没有这个功能?好问题!见鬼,连我都不知道。我只是假设它一直都有。再一次,一个客户向我报告了这个限制,我们得到了修复!

从16.1开始,如果您使用的是xamTabControl,则现在可以通过使用鼠标单击选项卡项并将其拖动到新位置来重新排序选项卡项。若要启用此功能,只需将TabDragMode属性设置为所需的行为。

TabDragMode有三个选项:

  • 无-禁用拖动。(这是默认行为)
  • Deferred (延迟)-延迟拖动,直到选项卡被放下。拖动选项卡时,将显示一个可视插入指示器。
  • 立即-在拖动选项卡时对选项卡进行重新排序。标签向左或向右移动,以指示被拖动的标签的新位置。

现在,你的额头应该开始感觉好多了。

XamDataGrid改进

Ahhhhhh…… 数据网格!几乎每个编写过应用程序的开发人员都知道,数据网格是所有业务应用程序的核心。它是迄今为止我们行业中使用最广泛的控件。因此,每个Infragistics WPF版本都将包含对我们的xamDataGrid的更新,以帮助您的生活更轻松,这不足为奇。在过去的几个月里,我与客户进行了一些很棒的对话,以发现您在xamDataGrid的编辑体验中的痛点,您在布局字段 (列) 时面临的限制,以及听到痛苦的尖叫声,试图将越来越多的数据加载到您的应用程序中。你让我知道我们在哪里可以帮忙,这正是我们所做的。

自动编辑模式

自xamDataGrid的第一个版本以来,它的编辑行为几乎保持不变。选择一个单元格,然后按F2,或双击以进入编辑模式。虽然这工作,它并不总是最直观的方法来编辑。许多应用程序需要更丰富的编辑体验,有些人会说更容易,更接近Microsoft Excel的工作方式。现在,编辑体验有点烦人。你想做什么选择一个单元格,并开始键入。BAM,你在编辑!没有双击… 没有F键… 没有麻烦!把你的手指从那些 “F’n” 键上拿开!在16.1中,我们向xamDataGrid FieldSetting对象添加了一个名为IsAutoEditModeEnabled的新属性。当IsAutoEditModeEnabled设置为true时,您可以选择一个单元格并开始键入。BAM!!! 你在编辑模式在眨眼!编辑,tab,提交更改都无需单击鼠标按钮。

字段分组

所以我们检查了我们的编辑。你一直在巡航。现在我们需要解决你们告诉我的另一个问题。分组你的领域!我收到一封来自客户的电子邮件,询问 “Brian,为什么我不能对我的字段进行分组,以便我可以更多地了解数据并显示它与xamDataGrid中的其他字段的关系?”。我想,“你是什么意思?给我看看!”所以他们做到了,这完全有意义。一旦我说出他们想要实现的目标,我就像是 “让我们这样做!”。

我们做到了!16.1,我们添加了创建字段分组的功能,允许您将多个字段组合在一个公共标题下。这使您的最终用户可以快速查看哪个字段属于类似类别。我们实际上必须改变我们一起定义FieldLayouts的方式。现在,不要担心 …… 我们没有打破你,但我们确实改变了API来支持这一点。我们添加了一个名为FieldItems的全新属性,它现在接受两个字段对象 (TextField,ComboBoxField,NumericField等) 以及一个新的FieldGroup对象。如果您使用的是FieldLayout.Fields属性,您的应用程序仍将工作,但今后您应该使用新的FieldItems属性添加字段和字段组。

那么,除了将字段组合在一起之外,您还可以对这些字段组做什么?

  • 嵌套-分组字段可以无限地相互嵌套。这意味着您可以有一个包含其他分组字段的父分组字段。
  • 移动-分组字段可以作为一个整体移动到一个新位置,也可以移动组内的单个字段。(注意: 根据设计,我们不支持将字段或FieldGroup拖动到其父组之外或任何其他组中。
  • 固定-您可以固定分组字段,以便在滚动xamDataGrid时其位置不会更改。(注意: 通过设计,您只能修复根级别的字段或字段组,即它们没有ParentGroup。)

哦,还有一个非常酷的小功能。当我们完成此功能时,客户就像 “Dang son…… 这太恶心了!你知道什么会更好吗?”,我就像“ 那是什么?”,他们说“ 如果我们可以折叠字段组来隐藏所有子字段,但有一个选项只显示选择字段 ”。我想了一下,说,“地狱,是的,那太棒了”。所以我们也这么做了!

  • 折叠-字段组允许您显示展开指示器,该展开指示器将折叠字段组以显示较少的详细信息。它基本上隐藏了折叠的分组字段中的所有字段。当您有许多分组字段并且需要整理视图时,这很方便。您还可以控制折叠组时哪些字段保持可见。

虚拟化数据源

虽然这些功能很酷,但我们有更好的东西。有一天,我遇到了一个客户,他们很难从他们的OData服务异步加载数据,并让xamDataGrid保持响应,并在滚动时不断加载数据。问题是,他们有数以百万计的记录被这个OData源服务,但显然他们不希望这些数据在xamDataGrid中一次加载。所以我们聊了一会儿,然后想,“嘿,为什么我们不创建一个虚拟化的数据源,让你只需将它指向一个OData服务,设置你想一次关闭多少记录,你想缓存多少记录,,只是绑定到xamDataGrid。然后,xamDataGrid可以为您完成所有工作,并在滚动时异步加载数据?”。这就是我们所做的!

我非常兴奋地宣布,在Infragistics WPF 16.1中,我们正在发布一个全新的数据源,它将使xamDataGrid (xamDataPresenter) 能够从OData服务异步加载数据。这意味着现在可以在单独的线程上加载数据,以保持UI响应。无论滚动位置如何,数据一旦被完全加载,就会出现在网格中。最好的部分是,你所要做的就是将它指向一个OData feed。就这样.你完蛋了!现在,对于初始版本,我们将只提供对OData服务的支持。只需将数据源指向OData服务URI,设置实体集,请求您的字段,设置页面大小,您就可以参加比赛了。虚拟数据源和xamDataGrid将完成其余工作。我知道你想要更多类型的数据源,但我们只是没有时间。

但是等等……还有更多!

这个新的虚拟数据源最好的部分是它是完全开源的,可以在GitHub上下载。

https://github.com/Infragistics/ 数据源-参考-实现

不仅可以下载OData虚拟数据源的源代码,而且我们还提供了演示如何在应用程序中使用它们的示例应用程序。您可以使用此OSS项目提交改进,并添加对您需要的其他数据源和客户端的支持,但我们目前不支持。

另外,我想提一下,虽然尚未加载的数据的默认外观是一个简单的灰色覆盖栏,但您可以自定义它并提供您想要的任何覆盖颜色,以便它与您的应用程序主题和样式保持一致。您还可以响应正在加载的数据的状态,以显示自定义加载指示器 (如xamBusyIndicator),从而为最终用户提供正在执行异步操作的可视指示。只需使用xamDataGrid.IsAsyncDataPending属性检查数据加载过程的状态。

一种新的三维曲面图

虽然我知道你的大脑还在努力从之前的功能公告中恢复过来,可能还有一种麻木的感觉,但现在是感官超负荷的时候了!全新的xamScatterSurface3D图表。没错!在我们的产品创意网站上,这是点子投票最多的第一名。它不仅是最高投票的想法,我们有更多的客户向我们发送电子邮件,而不是任何其他功能请求。

这个新的xamScatterSurface3D图表非常适合那些需要在金融服务行业、仪器测量和设备测试、过程模拟、建模和监控应用程序中可视化价格波动图的场景。基本上,任何构建用于生物技术,材料科学,组件测试的专用硬件的人都需要这样的表面图来可视化来自测试/测量的多元数据。我是说,这东西有病!

即使它是一个V1,这个控制有这一切。

  • 表面积系列支持-这是单个系列类型可用的控件,它允许映射任何x/y/z值集,例如地形映射,价格波动图等。
  • 缩放-使用缩放来放大或缩小曲面图
  • 触摸支持-控件使用标准触摸手势来启动旋转和缩放等操作。
  • 图表表面纹理自定义-允许对表面材料进行更多控制,从使用的材料到颜色属性。
  • 工具提示-鼠标跟踪以显示与当前悬停点相关的数据。
  • 旋转-允许旋转表面沿所有三个轴-X,Y和Z。
  • 网格线-启用十字准线时,沿曲面立方体所有边的水平和垂直网格线,以实现更好的可用性和指针跟踪。
  • 数据点标记-为曲面中的每个点启用可自定义的数据点标记。每个标记是可定制的,以允许形状和模板定制。
  • 十字线-允许匹配的鼠标位置在侧面的表面立方体。
  • 调色板-提供一组预定义的颜色范围,可以对其进行修改并应用于曲面上的值范围。
  • 轴标签-支持与沿轴的标签相关的一系列功能-步骤,格式,自定义,样式和模板。

你真的必须下载WPF示例浏览器和玩这个东西。这是一个很棒的3D图表控件。老实说,这是3D实际上有意义的少数几种图表类型之一。在大多数情况下,3D图表是一种新颖的控件,不会为您的数据添加任何价值。正如你所看到的,情况并非如此。

让我们把这个孩子包起来!

我希望你和我一样对这些新的控制和功能感到兴奋。正如你所看到的,你的反馈在这个16.1版本的Infragistics WPF中发挥了至关重要的作用。这些功能中的每一个都是因为你让我们知道你想要什么和需要什么才能成功。从修复烦人的东西,如针和标签项目拖动,到创建一个全新的3D图表控件。除了我在这篇文章中提到的所有新功能之外,我们还提供了更多我没有机会谈论的功能。我们还有很多其他较小的功能,以及我们最新16.1版本的一部分的错误修复。

如果您对我们应该为我们的控件带来的新功能有想法,我们需要解决的重要问题,甚至是您希望我们介绍的全新控件,请在我们的产品创意网站上发布它们,让我们知道。通过 @ infragistics在Twitter上关注并与我们互动。您也可以直接在Twitter上 @ brianlagunas关注并与我联系。还要确保通过我们的社区论坛与我们的各个团队联系,在那里您可以与Infragistics工程师和其他客户进行互动。

如果您还没有使用我们的WPF控件,请记住免费评估下载只需单击即可

最后,当您确实使用我们的控件构建了一些很酷的东西时,请确保让我们知道。</p