在 XAML 中为视图模型构造函数添加复杂参数

Add Complex argument for viewmodel constructor in XAML

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' 不能用作对象元素,因为它不是 public 或未定义 public 无参数构造函数或类型转换器”。 =15=]

我创建了一个基本演示来测试代码并重现错误。该错误不影响项目构建,它只是 IDE 的 intellisense 错误。请忽略错误并部署代码,它将正常工作。