xamarin.forms - 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 声明中传递参数?
提前考虑
解决方案
您可以使用视图模型定位器 ( ViewModelLocator.AutowireViewModel="True"
) 为您创建视图模型,并自动注入所有依赖项。
将视图模型设置为设计数据上下文 ( d:DataContext={d:DesignInstance local:RegistroPageViewModel}
) 应该会给您智能感知。
推荐阅读
- system.commandline - 有没有办法通过 System.CommandLine 的 —help 选项获取帮助文本输出?
- reactjs - React render button 'x' of times
- python - 窗口化最小-最大变换
- python - 转换字典中的列表
- r - R forEach 为列表列表和结构输出列表分配名称
- java - 对 Spring 端点的 Java 请求
- npm - npm v7 的“预卸载”生命周期脚本的替代方案
- go - 不能在变量声明中使用 make(IntChannel)(IntChannel 类型的值)作为消费者值
- html - 如何使用 vba 从网站表中提取数据
- reactjs - 用状态反应嵌套的 Hooks