如何解决将参数从列表传递给ViewModel构造函数
public ObservableCollection<PlayerModel> Players { get; set; }
flexlayout可绑定项设置为玩家列表
<FlexLayout x:Name="playerscollection" Wrap="Wrap" BindableLayout.ItemsSource="{Binding Players}"/>
items视图是带有viewmodel“ PlayerVieModel”的单独的内容视图“ PlayerView”,具有参数化的构造函数
PlayerView =>
<ContentView.Content>
<StackLayout>
<StackLayout Orientation="Horizontal" HorizontalOptions="FillAndExpand" >
<Entry x:Name="entry" Placeholder="الاسم" HorizontalOptions="FillAndExpand" Text="{Binding PlayerName}" />
<Label TextColor="Black" FontSize="Medium" HorizontalOptions="End" Text="اللاعب" VerticalOptions="Center"/>
</StackLayout>
<views:SportsListView x:Name="sportsList" BindingContext="{Binding Listviewmodel}"
HorizontalOptions="FillAndExpand"
Pickervisibility="True"/>
<Label x:Name="payment" Text="{Binding Source={x:Reference sportsList},Path=BindingContext.SportsTotalPayments,StringFormat='{0:D2}'}" HorizontalTextAlignment="Start" Margin="0,10,0" Padding="0" VerticalTextAlignment="Center" HorizontalOptions="CenterandExpand" FontSize="20"/>
</StackLayout>
</ContentView.Content>
public Playerviewmodel(bool showPicker = true,PlayerModel player = null){}
我需要将列表视图项绑定到PlayerVieModel
<FlexLayout x:Name="playerscollection" Wrap="Wrap" BindableLayout.ItemsSource="{Binding Players}">
<BindableLayout.ItemTemplate>
<DataTemplate>
<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>
</DataTemplate>
</BindableLayout.ItemTemplate>
</FlexLayout>
但是PlayerModel始终为null。所以,我在模型上使用了biniding
<viewmodels:Playerviewmodel>
<x:Arguments>
<x:Boolean>false</x:Boolean>
<models:PlayerModel
PlayerName="{Binding Source={x:Reference playerscollection},Path=PlayerName}"
PlayerPayment="{Binding Source={x:Reference playerscollection},Path=PlayerPayment}"
Sports="{Binding Source={x:Reference playerscollection},Path=Sports}" />
</x:Arguments>
</viewmodels:Playerviewmodel>
它给出错误错配x:argument
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。