是否可以从视图中更改viewmodel属性?我曾尝试过流畅的绑定,但viewmodel属性始终为null
查看
public class UserProfileView : MvxActivity
{
private string _currentToken;
public string CurrentToken { get; set; }
protected override void OnCreate(Bundle bundle)
{
var accounts = AccountStore.Create(this).FindAccountsForService("Soundcloud").ToList();
var set = this.CreateBindingSet<UserProfileView, UserProfileViewModel>();
set.Bind(this).For(v => v.CurrentToken).To(vm => vm.UserToken).TwoWay();
set.Apply();
accounts.ForEach(account =>
{
CurrentToken = account.Properties["access_token"];
});
base.OnCreate(bundle);
SetContentView(Resource.Layout.UsrProfile);
}
}
模型视图
private string _userToken;
public string UserToken
{
get { return _userToken;}
set { _userToken = value; RaisePropertyChanged("UserToken"); Update();}
}
答案 0 :(得分:2)
最简单的方法是继承MvxActivity<TViewModel>
public class UserProfileView : MvxActivity<UserProfileViewModel>
然后只需设置
ViewModel.CurrentToken = account.Properties["access_token"];
这会回答您的&#34;是否可以从视图中更改viewmodel属性?&#34; 。但是这并没有使用数据绑定。如果你真的想要使用数据绑定,你必须为它编写一个自定义绑定,在这种情况下可能需要付出太多努力。