【发布时间】:2014-05-13 17:27:28
【问题描述】:
我在使用 MVVMCross 的 Windows Phone 应用中看到了一些奇怪的现象。
我使用ShowViewModel<MyViewModel>(); 加载正在执行的命令的新视图。
我已将其更改为:
ShowViewModel<MyViewModel>(new { First = "Hello", Second = "World", Answer = 42 });
但是在 MyViewModel 中没有调用 Init,MyViewModel 继承自另一个类,而该类又继承自 MvxViewModel,我什至将两个视图模型更改为直接从 MvxViewModel 继承。
如果我用过:
Mvx.Resolve<IMvxViewModelLoader>().LoadViewModel(MvxViewModelRequest<MyViewModel>.GetDefaultRequest(), null);
Init get 被调用,与 InitFromBundle 相同,我传递了一个包含该测试对象的包,但我没有得到传递的值。
Init 方法看起来像这样:
public void Init(string First, string Second, int Answer)
我完全糊涂了,setup、app.cs 看起来都像导航示例,有什么我可能忘记的想法吗?
Windows 8.1、VS 2013、Hot Tuna、Windows phone 8。
初始化方法:
public void Init()
{
}
public void Init(string First, string Second, int Answer)
{
// use the values
var meh = "";
Mvx.Trace("Init called in {0}", GetType().Name);
}
protected override void InitFromBundle(IMvxBundle bundle)
{
}
【问题讨论】:
-
是否有任何踪迹告诉您什么可能失败?
-
无,只是说视图模型已加载,我能做些什么让它更详细?
-
字面上只看到 mvx:Diagnostc: 7.54 显示 ViewModel MyVewModel,没有错误,用对象正常执行 ShowViewModel,它似乎从来没有使用空构造函数调用 Init,使用与对象匹配的构造函数传入 ShowViewModel 或 InitFromBundle。
-
我以为您看到的是github.com/MvvmCross/MvvmCross/blob/v3.1/Cirrious/… - 但如果您没有设置该异常或任何跟踪,那么我不知道。
-
不,我根本没看到。
标签: windows-phone-8 viewmodel mvvmcross