微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

我应该在创建 Xamarin 对象的类的签名中使用 BindingBase 而不是 Binding 吗?

如何解决我应该在创建 Xamarin 对象的类的签名中使用 BindingBase 而不是 Binding 吗?

我正在从我的 Xamarin 代码创建一个新对象,如下所示:

new ArrowGrid("Group Name",new Binding(nameof(_vm.Name))));

并像这样使用它:

public ArrowGrid(string text1,Binding text2,string tapCommandParam) : this()
{
   this.Text1 = text1;
   this.SetBinding(ArrowGrid.Text2Property,text2);
}

ReSharper 建议我更改为 BindingBase:

public ArrowGrid(string text1,BindingBase text2) : this()

谁能向我解释一下 Binding 和 BindingBase 之间的区别。是否有任何理由更改为 BindingBase?

解决方法

类似的你可以自己选择。

SetBinding 定义的 BindableObject 方法有一个 BindingBase 类型的参数,Binding 类从该参数派生。

以下示例显示如何通过 BindingBase 设置对属性的绑定。

var label = new Label ();
label.SetBinding (Label.TextProperty,new Binding ("Name"));

还有其他由 BindableObjectExtensions 类定义的 SetBinding 方法。它创建并将绑定应用到属性。

下面的例子展示了如何使用扩展方法来设置绑定。这是来自此类的更简单的 SetBinding 扩展方法。

var label = new Label ();
label.SetBinding (Label.TextProperty,"Name");

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。