private void LoadIDictionary(IDictionary data) { ViewModel = defultViewModel; foreach (var item in data.Keys) { var key = item.ToString(); var prop = ViewModel.GetBindableProperty(key, data[item].GetType()); if (prop != null) { prop.ValueBoxed = data[item]; } } }
protected virtual void HandleData(object data) { if (data is Binding.ViewModelBase) { ViewModel = data as Binding.ViewModelBase; } else { if (data is IDictionary) { LoadIDictionary(data as IDictionary); } } }
public virtual void OnViewModelChanged(Binding.ViewModelBase newValue) { Binder.Unbind(); Binder.Bind(newValue); }