如何解决在XAML中为ViewModel构造函数添加Complex参数
Flexlayout有可绑定的Item来源
<FlexLayout x:Name="playerscollection" Wrap="Wrap" BindableLayout.ItemsSource="{Binding Players}" />
视图模型中的项目定义为
public ObservableCollection<PlayerModel> Players { get; set; }
FlexLayout数据模板是一个内容视图 我需要分配一个特定的视图模型“ Playerviewmodel”作为内容视图BindingContext
public Playerviewmodel(bool showPicker = true,PlayerModel player = null){}
因此在FlexLayout中,
<FlexLayout x:Name="playerscollection" Wrap="Wrap" BindableLayout.ItemsSource="{Binding Players}">
<views:PlayerView >
<views:PlayerView.BindingContext>
<viewmodels:Playerviewmodel>
<x:Arguments>
<x:Boolean>False</x:Boolean>
<models:PlayerModel/>
</x:Arguments>
</viewmodels:Playerviewmodel>
</views:PlayerView.BindingContext>
</views:PlayerView>
</FlexLayout>
但是错误显示“类型'Playerviewmodel'不能用作对象元素,因为它不是公共的,或者未定义公共的无参数构造函数或类型转换器”
解决方法
我已经创建了一个基本的演示来测试代码并重现错误。该错误不会影响项目构建,只是IDE的 intellisense 错误。请忽略该错误并部署代码,它将正常工作。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。