我会在MvxCommand中导入一个简单的URL?所有移动平台都有一种机制,可以向操作系统询问可以显示URL内容的Activity或ViewController。我怎么用MvvmCross做到这一点?我知道的一种方法是在调用ShowViewModel时在presentationBundle和/或parameterBundle中放入特殊内容,演示者可以检测到这些内容可以执行特殊的OpenUrl命令。但那是最好的方法吗?
答案 0 :(得分:2)
有一个启用此功能的插件 - 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://speakerdeck.com/cirrious/plugins-in-mvvmcross