如何将命令从viewmodel绑定到可绑定stacklayout中的按钮?

问题描述

您好,我正在学习Xamarin和FreshMvvM,并且我一直在一个用户可以购买产品的页面上工作。

在此页面中,我有一个带有可绑定布局的堆栈布局,其中的滚动视图充满了产品。每个产品都有一个图像和一个按钮,该图像和一个按钮应该绑定到来自视图模型的命令,该命令会在单击该按钮时显示该产品的信息。

相反,什么也没有发生,视图模型中的命令断点未命中,控制台给出了一条消息,指出找不到命令,这使我相信Visual Studio正在对象内部而不是页面中寻找命令视图模型。

我尝试使用Source = {x:Reference page}尝试将命令发送到视图模型而不是对象,但这是行不通的。

任何有关如何解决此问题的技巧或想法,将不胜感激。

这是xaml代码:

                                    <ScrollView Orientation="Horizontal" IsVisible="{Binding ShowShipsSection}">
                                        <StackLayout Orientation="Horizontal" BindableLayout.ItemsSource="{Binding PlayerShips}">
                                            <BindableLayout.ItemTemplate>
                                                <DataTemplate>
                                                    <Grid>
                                                        <Grid.RowDefinitions>
                                                            <RowDefinition Height="100"/>
                                                            <RowDefinition Height="35"/>
                                                            <RowDefinition Height="15"/>
                                                        </Grid.RowDefinitions>
                                                        <Image Source="{Binding Name,Converter={StaticResource NameToIconPathConverter}}" Grid.Row="0" WidthRequest="100" HeightRequest="100"/>
                                                        <Button Text="Select" Style="{StaticResource AcceptButtonStyle}" Command="{Binding SelectShipCommand,Source={x:Reference page}}" CommandParameter="{Binding .}" Grid.Row="1" WidthRequest="75" HeightRequest="35" HorizontalOptions="Center"/>
                                                    </Grid>
                                                </DataTemplate>
                                            </BindableLayout.ItemTemplate>
                                        </StackLayout>
                                    </ScrollView>

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...