0

我已经坚持了几天。基本上我要做的是从 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 中的所有属性的设置器也被调用了,我在其中看到了正确的值。但是,一旦执行移到下一行,值就会设置为默认值,并且我的绑定不起作用。

我在 Xamarin 表单项目中使用上述代码。我之前发过帖子,但我想我没有正确解释这个问题。

4

0 回答 0