博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Xamarin.iOS中使用MvvmLight框架
阅读量:4544 次
发布时间:2019-06-08

本文共 1980 字,大约阅读时间需要 6 分钟。

Xamarin.iOS中使用MvvmLight框架

如何在Xamarin.iOS 中使用MvvmLight框架:

1. 通过NuGet包管理器安装MvvmLight包

2. 创建对应的ViewModel

3. 在Controller中使用ViewModel(需要在Controller中添加引用:using GalaSoft.MvvmLight.Helpers 才能使用binding技术

 

UpdateTargetTrigger方法已经不被推荐使用,推荐使用ObserveTargetEvent。

ViewModel:

public class TextViewModel : ViewModelBase{    private string text;     public string Text    {        get { return text; }        set {         if (value != _text)              {
                 _text= value;                  RaisePropertyChanged("Text");              }       } }}

UIViewController:

需要在Controller中添加引用:

using GalaSoft.MvvmLight.Helpers;

public class TextViewController : UIViewController    {        private TextViewModel textViewModel;         private Binding
textFieldBinding; private UITextField textField; private UITextField TextField { get { return textField; } } private TextViewModel TextViewModel { get { return textViewModel; } } public override void ViewDidLoad() { base.ViewDidLoad(); textViewModel = new TextViewModel(); textField = new UITextField(new CoreGraphics.CGRect(20, 75, 280, 40)); textField.BackgroundColor = UIColor.White; textFieldBinding = this.SetBinding( () => TextViewModel.Text, () => TextField.Text, BindingMode.TwoWay) .ObserveTargetEvent(nameof(UITextField.EditingChanged)); View.AddSubview(textField); } }

 

 UISlider:

this.SetBinding(() => mDetailViewModel.PasswordLength, () => SliderCount.Value, BindingMode.TwoWay).ObserveTargetEvent(nameof(UISlider.ValueChanged));

BEMCheckBox:

this.SetBinding(() => mDetailViewModel.CheckLower, () => CheckBoxContainer.CheckBoxLower.On, BindingMode.TwoWay).ObserveTargetEvent(nameof(BEMCheckBox.AnimationDidStopForCheckBox));

 

转载于:https://www.cnblogs.com/devin_zhou/p/8086419.html

你可能感兴趣的文章
无刷新效果统计在线人数
查看>>
2017-2018-2 1723《程序设计与数据结构》问题汇总 (更新完毕)
查看>>
c# 通过反射 实例化类
查看>>
[ubuntu]中文用户目录路径改英文
查看>>
spark 编程教程
查看>>
LeetCode--Valid Parentheses
查看>>
BZOJ3124 SDOI2013 直径 DFS
查看>>
BZOJ4566: [Haoi2016]找相同字符
查看>>
python:extend (扩展) 与 append (追加) 之间的天与地
查看>>
Python测试——安装篇总结
查看>>
7 -- Spring的基本用法 -- 11... 基于XML Schema的简化配置方式
查看>>
输入1则输出0,输入0则输出1
查看>>
placeholder字体样式及兼容
查看>>
个人简历
查看>>
《怎样成为一个高手——罗振宇》观后感
查看>>
ASCII表格
查看>>
x-www-form-urlencoded
查看>>
存储引擎
查看>>
CDQZ_Training 2012-5-24 笨笨的电话网络
查看>>
文档对象模型 DOM
查看>>