率这个职位

在这篇文章中,我们将以一种更具反应性的方式来研究使用Xamarin表格,必威官网这将对验证和同步UI更新提供更多的控制,可以轻松添加自定义动画。

Xamarin表单移动应用程序的主要组件是视图模型,必威官网主持人服务,储存库,业务层,DTOS等。与移动应用程序的所有交互都可以看作是视图模型处理的一系列异步事件。所有与底层的交互,即服务,通知,数据层,选择一个照片,通过网络通信,都是一系列异步事件。所有这些事件都以有意义的方式为用户共同更新UI。

MVVM模式中的传统属性都定义为视图模型中的公共属性。值的更改会触发用户界面中的更改(如文本,启用状态等)。所有这些都是通过反射发生的,将基于字符串的绑定与实际属性名匹配。这个,虽然易于实施,减慢用户界面更新速度,开发人员也失去了对状态变化如何发生的控制。为了处理这个问题,我们将使用反应性可观察属性而不是数据属性。

下面是我们如何定义IOBServableObject,我们用于订阅属性:

以下是上述合约的简单执行:

在上述实施中,订阅者只是保存在一个列表中。值的任何更改都会触发对所有订阅服务器的调用。添加订阅服务器时也会发布值。应注意适当地取消对属性的订阅,以防止任何内存泄漏。

让我们看一个如何使用上述属性的示例。

考虑以下通知服务合同,以及使用契约的视图模型。

在以上情况下,视图模型通过在数据发生变化时传递要调用的操作来侦听属性更改。在我们的实施过程中,这个动作也是第一次调用,如果数据已经可用。这也阻止我们多次调用服务方法。例如,考虑在第一页显示驱动程序交付列表的企业应用程序,并显示下一个项目的列表。由于数据的来源总是相同的,两种视图模型(对于列表,和count)可以观察相同的数据源进行更改,以及加载通知可以从专用的中心位置调用。

上面的视图模型也使用了演示者。这个表示器是视图模型和实际用户界面之间的契约。每当数据发生变化时,将调用该操作,然后UI可以以有意义的方式向用户更新数据,例如动画或过渡。

我们还通过使用上述属性来提高UI的可重用性。由于XAML包含视图模型绑定,在不同的屏幕上共享子视图很容易出错,冗长且需要大量冗余代码。通过在用户界面和视图模型之间添加演示者契约,我们可以控制以所需的方式更新用户界面。

因此,利用上述反应性质,我们可以控制用户界面的转换,XAML再利用,还可以防止加载数据属性的昂贵数据和网络调用。

类别:
移动
标签:

留下答复

留下答复

订阅
通知
跟着我们!

克劳德解决方案博客-关注我们!