Xamarin.Forms的BindableProperty和WPF的DependencyProperty之间的区别

6

我在WPF开发方面有很多经验,现在我正在尝试创建我的第一个Xamarin.Forms应用程序。我发现有一些相当于WPF的DependencyProperty的东西叫做BindableProperty。它们似乎非常相似,所以我的问题是:

一个Xamarin.Forms BindableProperty与WPF DependencyProperty的实现和行为之间是否存在任何关键差异?

1个回答

5

已经有很多关于这个主题的指南了,你可以参考以下链接:链接1链接2

根据第一个链接的引用:

DependencyObject & DependencyProperty

有一些东西只是使用不同的名称进行了实现。这非常重要,因为它们构成了绑定机制的支柱。如果你对 WPF 有所了解,那么你肯定熟悉 DependencyProperty 和 DependencyObject,但在 Xamarin Forms 中你找不到它们,因为它们已经被另外命名。DependencyObject 现在被称为 BindableObject,而 DependencyProperty 则被称为 BindableProperty。从根本上讲,它们是相同的。

作者不确定出处,但他认为作者做了一些研究。

你当然可以查阅相关文档,包括你可能已经熟知的DependencyProperty和来自Xamarin.Forms的BindableProperty

正如你在评论中指出的那样,你想知道其中的差异。我没有记录它的来源,但我曾经读过/听说过,他们已经重命名了一些内容,以使移动命名更加适当。此外,这样可以防止人们只是复制和粘贴 WPF 布局到移动应用程序中,并通过这种方式创建可怕的用户体验。


1
我已经阅读了一些指南,但我无法找到在Xamarin中为什么将其命名为“BindableProperty”而不是“DependencyProperty”的原因,所以我想可能有一些差异我没有意识到。 - Tobias von Falkenhayn
添加了一点关于命名的内容 :) - Gerald Versluis

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接