gpt4 book ai didi

MvvmCross:如何导航到 ViewModel 以外的地方?

转载 作者:行者123 更新时间:2023-12-04 20:46:43 25 4
gpt4 key购买 nike

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

最佳答案

有一个插件可以实现这一点 - https://github.com/slodge/MvvmCross/tree/v3/Plugins/Cirrious/WebBrowser

如果加载了该插件,则 View 模型可以使用:

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

    关于MvvmCross:如何导航到 ViewModel 以外的地方?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16616774/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com