如何使用mvvmcross + c#绑定xamarin android中的layout_margintop#

时间:2018-02-24 17:56:39

标签: xamarin data-binding xamarin.android mvvmcross

我想将layout_marginTop与模型值绑定。 我能够绑定Text和命令,但无法绑定layout_marginTop。 例如,

  

mvvm:MvxBind ="文字标题; layout_marginTop TopMargin"

提前致谢。

1 个答案:

答案 0 :(得分:3)

为了做到这一点,你需要Custom data binding,因为默认情况下Mvx没有边缘顶部绑定。

创建目标绑定类:

Setup.cs

然后你只需在protected override void FillTargetFactories(IMvxTargetBindingFactoryRegistry registry) { base.FillTargetFactories(registry); registry.RegisterPropertyInfoBindingFactory( typeof(MarginTopTargetBinding), typeof(View), "MarginTop"); }

中注册
mvvm:MvxBind="Text Title; MarginTop TopMargin"

并使用它:

MyCustomMarginModel

顺便说一句,你可以拥有一个更复杂的对象<form action="" method="post"> <legend>Make a selection below</legend> <br> Field of interest:<br> <select name="subject"> <?php $subjectarray = array("Please select a subject", "Wavelenght", "Radioactive Decay"); foreach ($subjectarray as $cc => $subject) { echo '<option value="' . $cc . '">' . $subject . '</option>'; } ?> </select> ,它具有所有四个margin的属性并为它做一个自定义绑定,这样你就可以随时绑定每个边距。

HIH