问题标签 [xamarin.forms]

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 投票
3 回答
5064 浏览

mvvm-light - 使用 Xamarin.Forms 和 MVVMLight IOC 设置 INavigation

我开始将 MVVMLight 与 Xamarin.Forms 一起使用,并且需要一些帮助来设置 IOC 以在 App.GetMainPage 中创建我的第一个 ContentPage。

我的 ViewModel 有这样的构造函数——

我的 ContentPages 有这样的构造函数 -

我正在使用 ViewModelLocator 类,如下所示 -


我的 App.cs 正在“进行中”,如下所示 -

我最近的例外是 -

无法从源类型转换为目标类型。

我是否像这样试图为我的每个 ViewModel 提供 INavigation 错误的树?

更新:在几个答案显示了在 Xamarin Forms 中控制导航的其他方法之后,我认为如果有人能够澄清为什么尝试为导航注入构造函数不是一件好事,这将有所帮助。

我认为我的示例与作为静态的 AppNavigationPage 有点混淆,理想情况下我希望它也在 IOC 中,所以我可以调用 return ServiceLocator.Current.GetInstance< AppNavigationPage >(),但我尝试了各种工厂方法,并且正在调试它,所以代码显然是半生不熟的......

0 投票
1 回答
513 浏览

master-detail - 如何使用 Xamarin.Forms 创建具有滑出式菜单的两窗格应用程序?

我认为我可以将 MasterDetailPage 放在 MasterDetailPage 的详细信息中,其中外部 MasterDetailPage 将提供滑出菜单,而内部 MasterDetailPage 将始终使 Master 和 Detail 都可见。当我尝试这个时,外部大师的滑出菜单不起作用。

0 投票
1 回答
445 浏览

windows-phone-8 - HttpClient 和 windows phone 8 便携版

我有一个非常奇怪的问题。我试图做一个使用可移植库的 WP8.0 应用程序。在这个便携式库中,我使用的是 restsharp 便携式并且一切都很好,直到我开始做 GET 而不是 POST。再深入一点,发现问题出在HttpClient,于是我只用HttpClient做了一个简单的代码,发现在以下场景使用相同的代码结果会有所不同: * 在WP8+portable GET不工作,调用不'不返回但 POST 工作正常 * 在 WP81 OK

我正在对 www.google.com 进行 GET,对我自己的服务器进行 POST。我正在使用 WP8.1 模拟器进行测试。

任何想法?

0 投票
3 回答
3897 浏览

c# - Xamarin.Forms ListView 每行具有不同的控件?

使用 iOS 和 Android,我可以创建可滚动的列表视图,绑定到一个列表,其中每一行可以有不同的控件。如何使用 Xamarin.Forms 执行此操作?据我所知,ListView 控件只需要一个模板,并且在创建可以更改控件的每一行时没有重载或回调(这是我可以使用 iOS 和 Android 执行的操作)。

0 投票
6 回答
9020 浏览

xamarin - Xamarin Forms Android OnAppearing 在 PopModalAsync 后未触发

在仍然使用模态页面的同时调用 PopModalAsync 后,Android 是否没有触发的解决方法。这是一个例子:

0 投票
2 回答
19055 浏览

c# - 您如何正确绑定和更新 Xamarin.Forms ListView?

使用 MVVM 模式,我有一个 Model、ViewModel 和 View,其中包含一个 ListView。ListView 绑定到 ViewModel 的成员,该成员是 Model 类的 ObservableCollection。我可以使初始显示的绑定起作用,并且可以在对视图执行操作时更新模型类上的属性以获取适当的行,但是我无法刷新视图,从 ObservableCollection 中的模型类中提取数据。ListView 类不包含使无效或强制刷新的方法,这将解决我的问题。更新模型上的数据后如何让 ListView 刷新?

这是我正在尝试做的一个简单示例:每行包含一个按钮和标签。单击按钮后,我可以更新标签,这将反映在屏幕上。我需要做的是更新模型,这反过来又会强制更新视图。但是,我无法让它发挥作用。在实际应用中,Model的更新是在业务逻辑层,而不是在视图中,之后需要强制刷新ListView。

示例代码:

0 投票
4 回答
697 浏览

xamarin.forms - Xamarin Forms Labs - 地理定位器

如何使用 Xamarin Forms Labs 中的“GeoLocator”功能。当我在课堂上添加“GeoLocator”方法时,我不断收到 this.SetProperty 不存在的错误。有人知道如何使用“地理定位器”吗?

0 投票
2 回答
1731 浏览

c# - Xamarin.Forms 页面,顶部带有 AbsoluteLayout,下方带有 CarouselPage

我刚开始使用 Xamarin,并希望获得以下布局,但似乎无法实现它:

布局

我想始终保持顶部菜单栏(不是工具栏或导航栏)静态,以便在 CarouselPage 更改导航时它不会移动。我喜欢 CarouselPage 的内置滑动和导航属性。它就像 NavigationPage,只是我想控制整个 bar 的顶部,对内容没有任何限制(你只能添加一个按钮,对吗?)

谁能给我一些关于如何使它工作的建议?

0 投票
1 回答
3113 浏览

c# - 使用 Xamarin.Forms (Android) 进行会话管理

首先,我不确定在设计方面是否是最好的方法,但我对 Android 有点陌生,对 Xamarin.Forms 也很陌生。我的设置是 Xamarin.Forms PCL 中的一系列ContentPages,它们都处理来自 REST 服务的信息。此服务在登录时授予WorkToken应用程序随后保留的 a,以便执行进一步的操作。我将它存储在一个ISessionManager.

我的问题是工作流程问题。如果他们的会话已经结束/出现故障/无论如何,我有一个LoginPage我想向用户展示的内容;基本上,如果他们没有登录并尝试做任何事情,我想将此页面推送到堆栈上并强制他们尝试登录,如果他们提供有效的凭据,让他们继续他们离开的地方。大多数情况下,所有这些都发生在 PCL 中,但我创建了一个 Android 实现,该实现ISessionManager在每个ContentPage的覆盖OnAppearing方法上进行查询。每个页面都会调用ISessionManager'sCheckLogin来执行此操作,如果他们没有登录,它将创建一个Intent并启动LoginActivity它。LoginActivity基本上只是围绕 PCL 的LoginPage.

我遇到的问题是,这样做LoginActivity是在调用它的任何页面之上异步运行的。但是,此调用页面处于损坏状态,因为它尚未通过 REST 服务正确初始化。我想有两种可能的解决方案。要么Intent同步运行(我认为这是不可能的),要么重新考虑我的设计。这是Intent设置:

我已经检查了几个 Xamarin 论坛以获取与此相关的帖子,但除了 Xamarin.Forms 中的基本导航工作流之外,没有发现太多。

编辑:我发现了类似于我在这里尝试做的事情:如何将变量从新意图传递回在 android 中创建它的类,但在 Xamarin.Forms 的上下文中。如果它存在于 中,startActivityForResult它将解决我的问题Forms.Context,但似乎没有等价物。

0 投票
2 回答
1453 浏览

ios - Xamarin iOS GetCell 动态拉伸 cellView

我有以下从 Xamarin MobileCRM 示例改编的代码:

我希望当 TextLabel 包含的文本多于设备宽度时,它会拉伸/换行,因此行的大小会随之增长。当我设置 Lines = 0; 它包装了标签,但行高保持不变,所以每一行只是相互重叠。我如何增加行高?

谢谢