MvvmCross:如何导航到除ViewModel之外的东西?

时间:2013-05-17 19:46:56

标签: mvvm windows-8 windows-phone-8 xamarin mvvmcross

我会在MvxCommand中导入一个简单的URL?所有移动平台都有一种机制,可以向操作系统询问可以显示URL内容的Activity或ViewController。我怎么用MvvmCross做到这一点?我知道的一种方法是在调用ShowViewModel时在presentationBundle和/或parameterBundle中放入特殊内容,演示者可以检测到这些内容可以执行特殊的OpenUrl命令。但那是最好的方法吗?

1 个答案:

答案 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