看起来基于商店的资源加载器存在问题 - 它不喜欢正斜杠。
我刚刚将 Babel Windows Store 和 Wpf 示例应用程序上传到https://github.com/slodge/MvvmCross-Tutorials/tree/master/Babel
对于 WindowsStore,反斜杠和正斜杠存在错误。
要解决此问题,在 Setup.cs 中有一个Hack
修复类:
public class HackMvxStoreResourceLoader : MvxStoreResourceLoader
{
public override void GetResourceStream(string resourcePath, Action<Stream> streamAction)
{
// in 3.0.8.2 and earlier we needed to replace the "/" with "\\" :/
resourcePath = resourcePath.Replace("/", "\\");
base.GetResourceStream(resourcePath, streamAction);
}
}
public class Setup : MvxStoreSetup
{
public Setup(Frame rootFrame) : base(rootFrame)
{
}
protected override IMvxApplication CreateApp()
{
Mvx.RegisterType<IMvxResourceLoader, HackMvxStoreResourceLoader>();
return new Core.App();
}
}
我也将此添加到https://github.com/slodge/MvvmCross/issues/332 - 应该在未来的版本中修复。
对于 Wpf,资源加载器应该可以工作,但是当前发布的 nuget 包中存在一些问题,需要手动修补:
这些缺少的 nuget 步骤已记录在https://github.com/slodge/MvvmCross/issues/267中- 标记为已修复 - 因此应该在下一个 nuget 发布包中。