Tag: mvvmcross

Visual Studio中缺少Nuget包

我一直在使用xamarin studio,当我从mvvmcross下载一个示例项目时它工作正常。 它可以完美地编译和部署设备。 但是当我在visual studio中打开项目时,由于某些原因,有很多缺少的包。 有办法吗? 我在Visual Studio 2013中使用Nuget 2.8 当我按如下方式打开Nuget时,有一个按钮可以恢复丢失的包。 我点击了它。 然后它试图下载丢失的包,然后它意识到存在以下依赖关系: 然后我试图手动下载依赖,如下所示,但它显示已经下载的包但我仍然看到解决方案中缺少的包,没有任何影响。 因此,我收到如下数百个错误: 当我看一下丢失包裹的属性时,我看到如下

RecyclerView -MVVMCross Xamarin.Android中的OxyPlot

我有以下实现,其中我有recycleler视图,在每个视图中我试图使用OxyPlot显示数据。 我能够在每张卡上看到硬编码的Plotvalues,但是当我滚动时,它是一种缓慢的响应并且app会冻结一段时间。 我想知道我做错了什么或如何改善这个性能问题? MainView.xml mycardview.xml MainView.cs public override View OnCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { var ignored = base.OnCreateView(inflater, container, savedInstanceState); var view = this.BindingInflate(Resource.Layout.MainView, null); HasOptionsMenu = true; var cardRecyclerView = view.FindViewById(Resource.Id.myRecyclerView); if (cardRecyclerView != null) { cardRecyclerView.HasFixedSize = false; cardRecyclerView .Adapter = new MainViewRecyclerAdapter((IMvxAndroidBindingContext)BindingContext, Activity); var layoutManager = new LinearLayoutManager(Activity); cardRecyclerView.SetLayoutManager(layoutManager); } […]

无效的il代码System.IO.Compression.ZipFile.OpenRead()方法体为空

我正在使用Xamarin和MVVMCross实现一个Android应用程序。 在我的PCL中,我有一个ZipUtility类和以下方法: public NoDataResponse UnCompressZipFile(string path, string filename) { NoDataResponse response = new NoDataResponse(); StringBuilder sb = new StringBuilder(); sb.AppendLine(string.Format(“\r\nUnzipping ‘{0}’ in ‘{1}’ folder…”, filename, path)); try { using (ZipArchive archive = ZipFile.Open(filename, ZipArchiveMode.Read)) { foreach (System.IO.Compression.ZipArchiveEntry entry in archive.Entries) { if (entry.FullName.EndsWith(“.txt”, StringComparison.OrdinalIgnoreCase)) { System.IO.Compression.ZipFile.ExtractToDirectory(filename, path); break; } } } response.IsCallSuccessful = true; sb.AppendLine(string.Format(“\r\nFinished […]

绑定到MvvmCross中的Path ImageView,用于MonoDroid / Android

在我的案例路径”MyZooSnap.Core;component/Resources/Images/i.jpg” 。 如何转换Android ImageView路径? 为了在以下绑定中使用它: {‘AssetImagePath’:{‘Path’:’ImagePath’}} 更多这里 类似的问题 谢谢

为什么我在使用Microsoft.Bcl时不能在Windows Phone 7.1 MvvmCross项目中使用await关键字 – 无法等待’System.Threading.Tasks.Task?

在使用Microsoft.Bcl“Microsoft BCL Portability Pack”时,我无法在MvvmCross Windows Phone 7.1项目中使用await关键字。 我已经在GitHub上发布了我在下面描述的示例项目的代码, 并且此行发生了await错误 。 当我尝试构建包含FirstViewModel的第三个“核心”Windows可移植类库(PCL)时,我得到以下错误: Type System.Threading.Tasks.Task not awaitable under VS red squiggles, and Cannot await ‘System.Threading.Tasks.Task’ when building. 解决方案中有四个项目: 一个Windows可移植类库(PCL),其中包含一个接口,该接口引用BCL提供的“任务”对象。 一个针对OS 7.1的Windows Phone类库,它实现了上面的接口,并且还使用了BCL中的“任务”。 另一个Windows可移植类库(PCL),提供应用程序的“核心”function,包括ViewModel。 尝试引用和使用上述DLL的Windows Phone 7.1 /“7.5”应用程序。 前两个项目包含接口和接口的实现编译没有任何错误。 但第3个“核心”PCL无法使用上面显示的错误构建。 更多细节如果你想要他们: 我尝试了这个App.config“修复”,如“已知的BCL问题”中所述: http : //blogs.msdn.com/b/bclteam/p/asynctargetingpackkb.aspx 。但是当我添加时没有解决错误App.config只是“核心”项目,也不是我尝试将相同的App.config添加到每个项目。 我可能没有在元素中使用正确的版本,或者我只是错误地完成了App.config的操作。 解决方案中设置为以PCL为目标的每个项目在Visual Studio中都设置为“Profile104”。 那些DLL位于: C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETPortable\v4.0\Profile\Profile104\ 此PCL配置文件显示为在Visual Studio项目属性中定位这些平台:.NET for Windows […]

在MvvmCross中使用MvxGridView

我想要做的是在网格中显示多个项目的简单屏幕。 这可以在Android上使用GridView轻松存档。 在MvvmCross中我想我必须使用MvxGridView来存档相同的内容。 这是我的方法: itemview: 我的ViewModel: using System.Collections.ObjectModel; using Cirrious.MvvmCross.ViewModels; namespace GridViewBug.Core.ViewModels { public class FirstViewModel : MvxViewModel { public FirstViewModel() { Items = new ObservableCollection(); Items.Add(new TestClass { Name = “Test1” }); Items.Add(new TestClass { Name = “Test2” }); } private string _hello = “Hello MvvmCross”; public string Hello { get { return _hello; […]

如何将不可见的ViewModel添加到MvvmCross中的导航堆栈

我有以下应用情况。 在启动时,我想转到“List”ViewModel作为启动视图模型/视图。 但我希望用户能够选择BACK来转到“菜单”ViewModel。 如何在MvvmCross中完成?

Android App太大,Linking禁用function

我已经完成了我的应用程序,现在我正在尝试构建.apk并在我的手机上进行测试(无需调试,在发布模式下)。 将链接设置为“ 无 ”一切正常。 这里的问题是,应用程序太大了 – 它的20MB ,那就是垃圾。 我读过关于链接的文章: 点击这里 所以我尝试了“ 仅限Sdk Assemblies ”和“ Sdk和用户assembly ”。 第二个选项(两个程序集)直接失败,我甚至无法看到我的应用程序的第一个屏幕(登录)。 将链接设置为“ 仅限Sdk Assemblies ”后,我可以进入第一个屏幕(Loginscreen)。 该应用程序也是6.73MB什么更好,更有资格。 我现在面临的问题是,当我点击第一个屏幕上的“登录”按钮时, 没有任何反应 (通常会将我重定向到下一个活动)。 Button被绑定到命令: public IMvxCommand LoginCommand { get { return new MvxRelayCommand(DoLogin); } } private void DoLogin() { //Do Stuff } 在DoLogin()中放置一个断点 – 表明它永远不会进入。 那么,我怎么能解决这个问题呢? 似乎mvvmcross的function因任何原因被禁用? 我的主要目标是减少应用程序的大小。 这里重要的是.csproj中必要的部分 pdbonly true bin\Release\ TRACE […]

MvvmCross从ViewModel事件导航

我从这里读到了“ViewModel to ViewModel navigation”和“View Model Lifecycle”: https : //github.com/MvvmCross/MvvmCross/wiki/ViewModel–to-ViewModel-navigation https://github.com/MvvmCross/ MvvmCross /维基/视图模型,生命周期 我可以使用Init()或Start()方法来初始化当前的ViewModel。 此外,我可以将参数从一个ViewModel传递到另一个ViewModel并在Init()方法中接收它。 所以我的问题是:当我创建Windows手机应用程序时,我使用了“NavigateTo”和“NavigateFrom”方法。 Init()类似于“NavigateTo”。 但我没有找到mvvmcross中“NavigateFrom”方法的替代方法,当我通过“关闭(此)”或使用Windows手机上的后退按钮“返回”时,我不知道如何重新加载数据。 你能暗示我吗? 提前致谢! 更新 我发现Messenger(MvvmCross插件)可以帮助我通知第一个ViewModel,当另一个第二个ViewModel更改了数据时(例如将一个项目添加到一个集合中)。 因此,当第二个ViewModel添加一个新项时,首先ViewModel重新加载OnCollectionChanged(CollectionChangedMessage obj)方法中的数据。 Stuart展示了如何在NPlus1DaysOfMvvmCross / N-13-CollectABull-Part2中使用此插件。 链接到这里: https : //github.com/MvvmCross/NPlus1DaysOfMvvmCross/tree/master/N-13-CollectABull-Part2

获取当前的ViewModel MvvmCross

奇怪的是,我没有找到对互联网上这个非常简单的问题的直接回答。 如何在MvvmCross运行时中确定当前活动的ViewModel ? 可能吗? 如果没有,为什么我不应该这样做?