绑定:' UserMaxTimeList'未在' UserSettingPageViewModel'上找到的属性,目标属性:' Xamarin.Forms.Picker.ItemsSource'

时间:2017-09-15 13:17:53

标签: c# xamarin mvvm

我该如何应对?绑定:' UserMaxTimeList'找不到' UserSettingPageViewModel',目标属性:' Xamarin.Forms.Picker.ItemsSource'

MENAGER

private void SetUserSettingsList()

        UserMaxTimeList.Add(new UserMaxTimeModel() { Id = 1, Name = 15 });
        UserMaxTimeList.Add(new UserMaxTimeModel() { Id = 2, Name = 30 });
        UserMaxTimeList.Add(new UserMaxTimeModel() { Id = 3, Name = 60 });

查看

<StackLayout>
        <Picker x:Name="UserMaxTimePicker" ItemsSource="{Binding UserMaxTimeList, Mode=TwoWay}"
                              SelectedItem="{Binding UserMaxTimeItem}"
                              Title="xxxx" Margin="10" />

视图模型

 private UserMaxTimeModel _userMaxTimeItem = null;
    public UserMaxTimeModel UserMaxTimeItem
    {
        get => _userMaxTimeItem;
        set
        {
            _userMaxTimeItem = value;
            SaveUserMaxTime();
            OnPropertyChanged();
        }
    }

    public ObservableCollection<UserMaxTimeModel> UserMaxTimeList => new ObservableCollection<UserMaxTimeModel>(RuntimeManagerInstance.UserMaxTimeList);
    #endregion

    #region Methods
    public UserSettingsPageViewModel(INavigation navigation) : base(navigation)
    {
        InitializeViewModel();
    }

    private void InitializeViewModel() 
    {
        InitializeUserMaxTime();
        ....
    }

   .....

    private void InitializeUserMaxTime()
    {
        var userMaxTime = ProfileManagerInstance.CurrentUser.UserMaxTime;

        if (userMaxTime == null) return;

        UserMaxTimeItem = RuntimeManagerInstance.UserMaxTimeList.Where(x => x.Id == userMaxTime.Id).SingleOrDefault();
    }

    private void SaveUserMaxTime()
    {
        ProfileManagerInstance.CurrentUser.UserMaxTime = UserMaxTimeItem;
        ProfileManagerInstance.CurrentUser.Save();
    }

.....

0 个答案:

没有答案