我已经坚持了几天。基本上我要做的是将值从BaseViewModel分配给ViewModel中的属性。
在我的BaseViewModel中,我有以下代码:
var abc1 = this.GetType();
var method =
typeof(JsonConvert).GetTypeInfo().GetDeclaredMethods("DeserializeObject")
.FirstOrDefault(m => m.IsGenericMethod == true && m.GetParameters().Count() == 1);
MethodInfo generic = method.MakeGenericMethod(abc1);
var pageData = generic.Invoke(null, new[] { pageState.PageData });
其中var PageData是当前活动视图模型的类型。执行此行时,我可以看到ViewModel中所有属性的setter也被调用,我看到了正确的值。但是一旦执行移动到下一行,值就会设置为默认值,并且我的绑定不起作用。
我在Xamarin表单项目中使用上面的代码。我之前发过帖子,但我想我没有正确解释这个问题。