viewdestroy supported platforms mvxasynccommand xamarin.ios mvvmcross

xamarin.ios - supported - mvxasynccommand



Control enlazable personalizado en un proyecto de MvvmCross Touch (1)

Tengo una MvxBaseBindableCollectionViewCell que carga un xib que contiene un botón personalizado. Me gustaría poder pasar este botón personalizado a ViewModel para enlazar. es posible?

Estoy intentando lograr algo como MyButton.ViewModel = ViewModel.ChildViewModel y tengo ViewModel.ChildViewModel.Name como el título del botón.


Si desea vincular una celda personalizada, hay un tutorial sobre esto en http://slodge.blogspot.co.uk/2013/01/uitableviewcell-using-xib-editor.html

Si desea crear un UIButton totalmente enlazable dentro de esa vista, puede hacerlo utilizando alguna herencia como:

[Register("MyButton")] public class MyButton : UIButton , IMvxServiceConsumer { private IList<IMvxUpdateableBinding> _bindings; private const string BindingText = "SpecialTitle Customer.Name"; public MyButton() { } public MyButton(IntPtr handle) : base(handle) { } protected override void Dispose(bool disposing) { if (disposing) { foreach (var binding in _bindings) { binding.Dispose(); } _bindings.Clear(); } base.Dispose(disposing); } private object _dc; public object DataContext { get { return _dc; } set { _dc = value; if (_bindings == null) { var binder = this.GetService<IMvxBinder>(); _bindings = binder.Bind(_dc, this, BindingText).ToList(); } else { foreach (var binding in _bindings) { binding.DataContext = _dc; } } } } public string SpecialTitle { get { return this.GetTitle(UIControlState.Normal); } set { this.SetTitle(value, UIControlState.Normal); } } }

A un lado> MvvmCross v3 "Hot Tuna" contendrá algunas clases de ayuda para hacer esto un poco más simple de hacer.