问题标签 [mvvmcross]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
854 浏览

xamarin.android - Unable run ProgressDialog - BadTokenException while showind

I am having a problem with a ProgressDialog thing in MVVMCross. I am getting Android.Views.WindowManagerBadTokenException: while creating ProgressDialog via IReportService where I have context from setup.cs.

ToastMessages are working fine with using local context, but ProgressDialog doesn't. The debugger crashes while running _progressBar.Show(). I have searched all the internet but I can't find any solution. Any suggestions are more than welcome!

0 投票
1 回答
921 浏览

xamarin.android - 带有 EditText 的 MVVMCross 数据绑定列表

我已经玩了一段时间的 monodroid/monotouch,并决定从 monocross 跳到 mvvmcross,我遇到了一些问题。

我有一个域模型,它包含一个子属性,它是另一个域对象的列表。如果你愿意的话,有很多。我要做的是显示聚合根对象并允许用户填写子对象的详细信息。

我很容易使用 MvxBindableListView 将其连接起来。除了我无法绑定到 objA.mySubObjs 之外,我必须在 ViewModel 中将列表提升到一个级别并绑定到它?无论如何,我面临的问题是我的列表项模板看起来有点像这样

渲染得很好,但只是不可用。当我单击 editText 控件时,会调出软键盘,这样做会失去焦点。我已经阅读了几篇关于 ListView 中的 EditText 的文章不太好用。

因此,我尝试通过绑定到特定项目(即 objA.mySubObjs[0].Name)手动构建列表视图,但这似乎并没有反映在 ViewModel 中。

我有点茫然,并不想走在我的 ViewModel 中扁平化列表以适应 Android 视图的路线。

任何帮助,将不胜感激

0 投票
1 回答
869 浏览

android - Android 发布模式下的 MvxException

我有我自己无法解决的问题。我无法在发布模式下运行我的 android api,它在加载 System.Web.Service.dll 库时停止,然后我得到了 MvxException,继续后我得到了第二个 MvxExcetpion(我从调试模式猜测它即将关闭应用程序)。

我正在使用 MvvmCross - 我在 WindowsPhone7 中的应用程序运行良好,但在 Mono for Android 中我遇到了问题。

这是我的输出日志:

几天来我一直在寻找解决方案,现在我太累了,无法自己解决。任何建议都非常受欢迎!

更新:在链接“仅 SDK”中添加 LinkerIncludePlease.cs 类后,我在找不到 NullReference 时遇到了另一个问题。

这是我的输出:

0 投票
2 回答
2063 浏览

xamarin.ios - MvvmCross:MonoTouch 中的绑定列表

我正在使用 MvvmCross 重构一个应用程序,并且正在获取一个设置视图以在三个平台上显示:WP7、Android 和 iPhone。我创建了一个包含两个列表的 SettingsViewModel。一个带有更新频率来轮询服务器,另一个带有要轮询哪个服务器的信息。这些称为 UpdateFrequencies 和 PublicSites。这两个列表在 SettingsViewModel 中都有一个属性,用于确定选择了哪个 UpdateFrequency 和哪个站点,UpdateFrequency 和 SelectedSite。

在 WP7 上,此数据绑定到 ListPicker,如下所示:

设置查看 WP7

类似地,在 Android 上,它绑定到这样的 Spinner:

设置查看 Android

现在我正在尝试在 iPhone 上做同样的事情,但我似乎无法理解如何以类似的方式绑定它。我一直在查看我能找到的所有样本,但似乎找不到类似的东西。有人可以指出我正确的方向吗?

0 投票
1 回答
1114 浏览

xamarin.ios - MvvmCross:与 MonoTouch.Dialog 的双向绑定

可以在此处找到此问题的完整来源:https ://github.com/Cheesebaron/MvvmCross.SettingsSample

我主要关心的是 SettingsView,我尝试绑定一些简单的 BooleanElements:

我的问题在于绑定似乎只能以一种方式工作,即使我明确指定它是TwoWay. 这两种方式绑定似乎在 WP7 和 Android 上运行良好,所以我知道视图模型没问题。但是要么我缺少一些用于双向绑定的代码,要么框架中有错误或缺失。

CheckboxElement如果我尝试使用其他类型的元素,例如or ,也会出现此问题StyledStringElement。还有我自己制作的元素...

0 投票
0 回答
1114 浏览

c# - MvvmCross 和视图导航

我将 MvvmCross 用于我的应用程序并从 iPhone 开始。为了实现使用 RequestNavigate 和 Close 在视图之间导航的复杂性,我从 MvxBaseTouchViewPresenter 派生了一个新的演示者。到目前为止,一切都很好。

我现在遇到的问题是可以关闭或显示视图,而之前可见的视图仍在转换中,无论是打开还是关闭。我能想到的解决这个问题的唯一方法是使用视图控制器的 ViewDidAppear 和 ViewDidDisappear 事件处理程序来调用执行下一个视图显示的操作,从而将显示推迟到前一个视图完成其转换之后。

这意味着我必须添加:

查看控制器,引入一个 IEventViewController 接口,让我添加代码并将演示者的 Show 方法更改为:

我真正想要的是基类中的那些事件处理程序。我想知道如果我不让自己偏离主要发展道路,有什么机会?偏班可以吗?

0 投票
1 回答
781 浏览

memory-management - 使用 mvvmCross 帮助 mono droid 中的 GC

我正在使用 slodge 提供的 mvvmcross 框架使用单声道机器人。但是我有一些记忆问题。我在 ondestroy 方法的活动中处理位图,我想知道是否可以帮助 GC 收集未使用的视图模型对象。如果您尝试将 Activity 中的视图模型设置为 null,那么一切都会变得糟糕,这显然不是正确的方法。

你们对方法有什么建议吗?

问候

0 投票
1 回答
477 浏览

c# - 可观察到的集合更改不会反映在 Maps Control 上

我正在创建一个应用程序,我在 WP7 上使用 MvvmCross 以及 Bing Maps 控件。我正在尝试将 绑定MapItemsControl ItemSource到包含type 的属性的ObservableCollectionof 。是一个简单的类,其中包含有关位置的纬度和经度的信息。我填充到其中的位置由我监听的服务获取,并在它获取位置时更新集合。虽然它似乎不起作用,因为地图上没有显示任何位置。为了绑定s,我制作了一个转换器,它可以简单地转换为可以理解的转换器。我知道转换器在我使用它绑定到属性时工作。LocationDataSourceMapPositionGeoPointGeoPointObservableCollectionViewModelGeoPointGeoCoordinateMapItemsControlMap Center

绑定看起来像这样:

ViewModel 看起来像这样:

我尝试了各种方法来更新Locations集合,这是在加载并准备好ViewModel后在事件处理程序中完成的ViewModel,我认为这会起作用:

我检查了LocationDataService.Locations它不是空的并且包含一个实际位置。我还尝试将集合实例化为ViewModel构造函数,然后将add每个元素实例化到集合中,这也没有在地图上显示任何内容。

编辑 根据评论中的要求。我已经尝试将这样的位置添加到集合中,它Locations = new ObservableCollection<LocationDataModel>();ViewModel构造函数中被实例化。然后在事件处理程序中填充如下:

谁能看到我在这里做错了什么?

0 投票
1 回答
1024 浏览

c# - 为任务/意图提供单声道跨平台支持

我有一个适用于 WP7 和 Android 的应用程序,该应用程序必须支持“任何”连接类型(WiFi、NFC、蓝牙等)

然后我用 MVVMCross https://github.com/slodge/MvvmCross创建了一个分层模型

我有一个接口,例如 Android 蓝牙必须实现

我希望能够请求用户进行蓝牙访问,但我不想将我的 UI 专门编程为 Android 蓝牙,所以视图和视图模型不应该知道使用了哪个意图,所有这些都应该由类处理实现 IConnectionService

问题是它也应该适用于不使用意图的 Windows Phone,它使用任务,所以我如何制作一个界面,允许我在不知道需要什么类型的请求的情况下发出意图请求或任务请求?

0 投票
6 回答
4493 浏览

xamarin.android - 来自 MvxBindingAttributes 的属性不与 MvvmCross 一起添加

我的 UI.Droid/Resources/Values 中有 MvxBindingAttributes.xml 但每次我尝试在布局中使用绑定时都会得到

未声明警告属性。

在包“DroidUI”中找不到属性“MvxBind”的资源标识符

所以由于某种原因它找不到这些属性。我试图关闭/重新打开/清理/重建但没有运气,尝试删除布局然后构建(希望它会在构建时添加它们)然后尝试再次添加它们,但似乎没有任何效果