我在WPF开发方面有很多经验,现在我正在尝试创建我的第一个Xamarin.Forms应用程序。我发现有一些相当于WPF的DependencyProperty的东西叫做BindableProperty。它们似乎非常相似,所以我的问题是:
一个Xamarin.Forms BindableProperty与WPF DependencyProperty的实现和行为之间是否存在任何关键差异?
我在WPF开发方面有很多经验,现在我正在尝试创建我的第一个Xamarin.Forms应用程序。我发现有一些相当于WPF的DependencyProperty的东西叫做BindableProperty。它们似乎非常相似,所以我的问题是:
一个Xamarin.Forms BindableProperty与WPF DependencyProperty的实现和行为之间是否存在任何关键差异?
已经有很多关于这个主题的指南了,你可以参考以下链接:链接1 和 链接2。
根据第一个链接的引用:
DependencyObject & DependencyProperty
有一些东西只是使用不同的名称进行了实现。这非常重要,因为它们构成了绑定机制的支柱。如果你对 WPF 有所了解,那么你肯定熟悉 DependencyProperty 和 DependencyObject,但在 Xamarin Forms 中你找不到它们,因为它们已经被另外命名。DependencyObject 现在被称为 BindableObject,而 DependencyProperty 则被称为 BindableProperty。从根本上讲,它们是相同的。
作者不确定出处,但他认为作者做了一些研究。
你当然可以查阅相关文档,包括你可能已经熟知的DependencyProperty和来自Xamarin.Forms的BindableProperty。
正如你在评论中指出的那样,你想知道其中的差异。我没有记录它的来源,但我曾经读过/听说过,他们已经重命名了一些内容,以使移动命名更加适当。此外,这样可以防止人们只是复制和粘贴 WPF 布局到移动应用程序中,并通过这种方式创建可怕的用户体验。