【问题标题】:What is the different between "binding" and "binding context" in xamarin forms?xamarin 形式中的“绑定”和“绑定上下文”有什么区别?
【发布时间】:2017-09-03 16:35:06
【问题描述】:

我是 xamarin 的新手。我想知道用于以 xamarin 形式绑定数据的绑定和绑定上下文之间的确切区别。

【问题讨论】:

    标签: data-binding xamarin.forms


    【解决方案1】:

    BindingBindingObject 是 Xamarin Forms 框架附带的数据绑定过程的一部分。

    数据绑定是在目标(通常是控制属性,如Switch.IsToggled)和源(通常是结合了业务逻辑和属性更改通知的视图模型)之间建立连接的过程。

    您使用Binding 将目标UI 控件与其对应的视图模型之间的连接定义为源,这是通过BindingContext 属性提供的。您可以通过指定Path 属性(以及其他参数,例如Converter、StringFormat 等)来完成此操作。

    例如,在上图中提到的这种情况下,您可以定义一个Binding 以使用BindingContext 作为源(又是ViewModel)在Entry.TextViewModel.MyProperty 之间建立连接.

    BindingContext 始终被视为此类绑定的默认源,除非您明确指定备用源,如另一个控件、静态资源等。

    例如:

    <Switch IsToggled="{Binding IsEnabled}" />
    

    将在Switch.IsToggledBindingContext.IsEnabled之间建立绑定连接。

    同样,

    <Switch IsToggled="{Binding IsEnabled, Source={x:Reference siblingControl}}" />
    

    将在Switch.IsToggledsiblingControl.IsEnabled 之间建立绑定连接。您会注意到,BindingContext 不是此绑定连接的一部分。

    这个article 是学习 Xamarin 表单中绑定的一个很好的起点。另一个很好的资源是官方文档herehere。另外,建议您阅读有关如何define bindings using markup-extensions in XAMLextension methods in C# 的信息。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-01-03
      • 1970-01-01
      • 2013-05-23
      • 2012-12-02
      • 1970-01-01
      • 2012-05-24
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多