首页 > 解决方案 > prism中的xaml viewmodel声明

问题描述

我正在将 PRISM 与 xamarin 表单一起使用,并且我喜欢在 XAML 中声明我的视图模型,

xmlns:local="clr-namespace:MyProyect.ViewModels" 

……</p>

<ContentPage.BindingContext>
    <local:RegistroPageViewModel />
</ContentPage.BindingContext>

所以我可以有 XAML 智能,在这个示例中,我的 RegistroPageViewModel 构造函数有一个参数,因为它需要基类,但我不知道如何在 xaml 中传递它

public class RegistroPageViewModel : ViewModelBase
{
    public RegistroPageViewModel(INavigationService navigationService):base(navigationService)
    {
        registro = new RegistroInfo();
        Title = "Perfil de usuario";
    }

我的具体问题是:如果 viewmodel 有参数,我如何仍然使用 XAML viemodels 的声明?如何在 XAML 声明中传递参数?

提前考虑

标签: xamarin.formsprism

解决方案


您可以使用视图模型定位器 ( ViewModelLocator.AutowireViewModel="True") 为您创建视图模型,并自动注入所有依赖项。

将视图模型设置为设计数据上下文 ( d:DataContext={d:DesignInstance local:RegistroPageViewModel}) 应该会给您智能感知。


推荐阅读