MvvmCross自定义UITextField twoway不更新

时间:2017-11-07 20:34:34

标签: c# mvvm xamarin.ios mvvmcross mvxbind

我创建了一个UIDatePickerTextField。 这是UITextField的子类。

功能

当用户点击文本字段时,将显示弹出式日期选择器。 用户可以选择日期并单击“完成”。该值将设置为文本字段并完成。

在我看来,我使用:

set.Bind(PickerTextField).For(x => x.Text).To(vm => vm.SelectedValue).TwoWay();

在选择器类中,我实现了接口IMvxBindable,因此具有属性BindingContextDataContext

当用户点击完成时,将捕获click事件并处理最后的步骤

private void DoneButton_Clicked(object sender, EventArgs e)
{
    HideView();
    DateTime userSelectedDate = DateTime.Parse(_datePickerControl.Date.ToString());
    Text = userSelectedDate.ToString();
    SendActionForControlEvents(UIControlEvent.ValueChanged);
}

但由于某种原因,Text属性已正确设置且可见,但未触发ViewModel集。我有什么问题,如何解决这个问题?我会阻止在此控件中使用ViewModel来保持通用。

0 个答案:

没有答案