我会在我的 MvxCommand 中放入什么来导航到一个简单的 URL?所有移动平台都有一种机制来向操作系统请求可以显示 URL 内容的 Activity 或 ViewController。我将如何使用 MvvmCross 做到这一点?我知道的一种方法是在调用演示者可以检测到执行特殊 OpenUrl 命令的 ShowViewModel 时将特殊内容放入presentationBundle 和/或parameterBundle 中。但这是最好的方法吗??
问问题
1931 次
1 回答
3
有一个插件可以实现这一点 - https://github.com/slodge/MvvmCross/tree/v3/Plugins/Cirrious/WebBrowser
如果加载了该插件,则视图模型可以使用:
public class MyViewModel : MvxViewModel
{
private readonly IMvxWebBrowserTask _webBrowser;
public MyViewModel(IMvxWebBrowserTask webBrowser)
{
_webBrowser = webBrowse;
}
public ICommand ShowWebPage
{
get { return new MvxCommand(() => _webBrowser.ShowWebPage("https://github.com/slodge/mvvmcross");
}
}
您可以看到它用于,例如:
- https://github.com/slodge/MvvmCross-Tutorials/blob/master/Sample%20-%20CirriousConference/Cirrious.Conference.Core/ViewModels/BaseViewModel.cs
- https://github.com/slodge/MvvmCross-Tutorials/blob/master/Sample%20-%20CustomerManagement/CustomerManagement/CustomerManagement/ViewModels/DetailsCustomerViewModel.cs
如果您需要创建自己的插件,请参阅https://speakerdeck.com/cirrious/plugins-in-mvvmcross
于 2013-05-17T20:02:44.423 回答