微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

在XAML中为ViewModel构造函数添加Complex参数

如何解决在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 举报,一经查实,本站将立刻删除。