iOS DatePicker绑定提供MvxBind:viewmodel =>的错误查看方向

时间:2014-06-22 22:14:13

标签: mvvmcross uidatepicker

我在我的一个视图中的'time only'模式中使用iOS UIDatepicker(weekendOnTimepick),每当Picker视图发生更改时,需要更新Viewmodel中的属性。方向Viewmodel =>视图仅在View加载时很重要,因此在绑定之外处理(请参阅下面的代码)。 虽然这很有效(在克服iOS时间本地化的挑战之后),但我得到一条消息“MvxBind:错误:86.61在绑定执行期间看到的问题,为TimerOnWeekend绑定时间 - 问题ArgumentException:对象类型System.DateTime无法转换为目标类型:MonoTouch.Foundation.NSDate“ 我想这与我没有使用的绑定方向有关,似乎不是问题,但我担心它会给我的应用带来某种不稳定性。

问题:这是实现上述目标的正确方法,还是更好的例如完全沟通绑定并使用View to Viewmodel订阅消息与每个Datepicker更新?

public override void ViewDidLoad ()
        {
            base.ViewDidLoad ();
            _userSettings = Mvx.Resolve<IHpRepository>().HpFullData.UserSettings;

            var set = this.CreateBindingSet<TimerView, TimerViewModel>();

            // TODO: check timepicker binding
            set.Bind(weekendOnTimepick).For("Time").To(vm => vm.TimerOnWeekend);

            int weekendOnHr = _userSettings.TimerOnWeekend / 3600 ;
            int weekendOnMin = (_userSettings.TimerOnWeekend % 3600) / 60;
            var weekendOnTime = new DateTime (2014, 1, 1, weekendOnHr, weekendOnMin, 0);
            var AdjweekendOnTime = weekendOnTime.ToUniversalTime ();
            weekendOnTimepick.SetDate (TouchConverter.DateTimeToNSDate(AdjweekendOnTime),true); 


            set.Apply();
        }

0 个答案:

没有答案