MVVMCross项目中使用的默认绑定模式

时间:2017-01-20 17:09:50

标签: xamarin binding mvvmcross

我从另一个开发者那里继承了一个Xamarin MVVMCross项目。我想知道如何获得使用的默认绑定模式以及如何更改它。

1 个答案:

答案 0 :(得分:1)

在MvvmCross中,当使用由MvvmCross(虚拟属性绑定/自定义绑定)定义的绑定时,默认binding mode通常为Two-Way。本机属性通常为One-Way,因为默认情况下没有返回机制(View to ViewModel)。

来自MvvmCross Custom binding的备注:

  

MvvmCross创建了新的绑定,然后这个[双向绑定]经常是   默认绑定模式MvvmCross尝试使用。

除了Windows和Xaml:

  

在Windows / Xaml中,这种[单向绑定]通常是默认的绑定模式 - 所以它   是没有选择其他模式时使用的模式。

Swiss binding syntax

, Mode=$WhichMode$

$WhichMode$之一是:

  • 单向
  • 单向
  • ToSource
  • 双向
  • 一次性
  • 默认

使用Android AXML的示例

local:MvxBind="Text UserName, Mode=OneWay"

Fluent binding syntax

使用代码库绑定,您可以使用:

OneWay()
TwoWay()
OneWayToSource()
OneTime()

示例:

var set = this.CreateBindingSet<MyView, MyViewModel>();
set.Bind(cardLabel)
    .For(v => v.Text)
    .To(vm => vm.UserName)
    .OneWay();
set.Apply();