棱镜中的xaml视图模型声明

问题描述 投票:0回答:2

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

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

……

<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.forms prism
2个回答
0
投票
为了使XAML知道ViewModel,请启用XamlCCompiled Bindings。文档提供了如何正确启用和使用它们。

XamlC检查常规编译时错误,例如属性名和打开/关闭匹配的标签等...


0
投票
您可以使用视图模型定位器(ViewModelLocator.AutowireViewModel="True")为您创建视图模型,并自动注入所有依赖项。
© www.soinside.com 2019 - 2024. All rights reserved.