【问题标题】:Caliburn Micro pass non generic parameter to new ViewModelCaliburn Micro 将非通用参数传递给新的 ViewModel
【发布时间】:2013-05-19 17:32:26
【问题描述】:

Caliburn Micro 将非通用参数传递给 Windows 应用商店应用中的新 ViewModel

我从一个页面导航到另一个页面,并希望将我自己的类实例(如参数)传递给 ViewModel。

我需要这样的东西,只需将字符串替换为自己的类实例。

在 FirstViewModel 中:

   NavigationService.NavigateToViewModel<SecondViewModel>("Hello");

在 SecondViewModel 中:

    public string Parameter { get; set; }

    public ProjectPageViewModel(INavigationService navigationService)
    {
        _navigationService = navigationService;
    }

使用字符串一切都很好。
是否可以传递自己的类的实例?

【问题讨论】:

  • 通常不鼓励传递复杂的对象图。您可以check out this question,以及由 Anders 提供的 cmets 和解决方法。
  • 是的,这个小技巧对我有帮助。非常感谢!

标签: c# windows-store-apps caliburn.micro


【解决方案1】:

在 Windows Phone 中,您不能在导航中传递复杂对象。现在你可以把它当作一个基本的约束。

相反,如果您愿意,您可以使用 EventAggregator 来传递消息。顺便说一句,EventAggregator 模式通常用于 MVVM 中的类似任务。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-05-04
    • 1970-01-01
    • 1970-01-01
    • 2013-06-26
    • 2020-10-24
    • 2021-06-08
    • 1970-01-01
    相关资源
    最近更新 更多