2016-04-08 24 views
0

Viewmodel özelliği görünümden değiştirmek mümkün mü? Ben akıcı bağlama çalıştı, ama vardı ViewModel özelliği her zaman boşMvvmCross bağlama özelliği görüntülemek için Viewmodel özelliği

Görünüm

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); 
    } 
} 

Modelview

private string _userToken; 
    public string UserToken 
    { 
     get { return _userToken;} 
     set { _userToken = value; RaisePropertyChanged("UserToken"); Update();} 
    } 
+0

xml'den (Tibet?) Bağlanırken genellikle yerel olarak gönderirim: MvxBind = "CurrentToken UserToken" – Nanoc

+0

Her zaman UserToken almaya çalışır, ancak ModelView –

+0

içinde ayarlamaya ihtiyacım var. değer viewModel'de değil, o zaman problem nedir? – Nanoc

cevap

2

kolay yolu MvxActivity<TViewModel>

public class UserProfileView : MvxActivity<UserProfileViewModel> 
devralan olacaktır Sonra

ve sadece bu senin cevap

ViewModel.CurrentToken = account.Properties["access_token"]; 

set "bu görünümden ViewModel özelliğini değiştirmek mümkün mü?". Ama bu veri bağlama kullanmaz. Eğer gerçekten veri bağlama kullanmak istiyorsanız, bunun için özel bir Bağlama yazmalısınız, bu durumda çok fazla çaba olabilir.

+0

Evet, işe yarıyor. Çok teşekkürler. –

+0

CS: GO oturumumdan sonra bir bakacağım ^^ –