首先,祝贺mvvmcross的创作者,真的太棒了....
现在....我开始在Windows手机和Windows商店应用程序中使用mvvmcross到目前为止没有问题,使用演示作为指导,我设法几乎所有的东西都运行起来,特别是json和sqlite,但是我我在Windows商店项目中遇到了本地化问题,我没有看到这个案例的演示,只针对windows手机(就像魅力一样)......我认为它应该类似于Windows手机,但我没有让它工作,它运行,但它似乎找不到.json文件..
在Windows应用商店应用中是否存在用于本地化的附加步骤? (资源位置,构建动作......)以及在wpf应用程序中怎么样?
提前致谢
罗伊
答案 0 :(得分:0)
看起来基于商店的资源加载器存在问题 - 它不喜欢正斜杠。
我刚刚将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发布包中。