.net Xamarin形式添加多重结合

f0ofjuux  于 2023-01-31  发布在  .NET
关注(0)|答案(1)|浏览(86)

求你了我需要帮助。
我有一个Xamarin Form应用程序,它可以很好地将数据绑定到其名为OrderDetailViewModel视图模型
但今天我必须在第10行Binding OrderStatusMessage中添加另一个DataBinding字段,该字段绑定到其Xaml.cs文件(代码隐藏),但出于好奇,此字段不起作用,我的意思是,在将标签文本绑定到位于其xaml.cs文件(代码隐藏文件)中的属性后,它不会动态更改标签文本。
在第4行中,您可以找到绑定到MVVM文件的数据,该文件名为OrderDetailViewModel,运行良好。
但问题出在第10行Binding OrderStatusMessage,这是一个数据绑定到自己的xaml.cs文件,不会将标签文本更改为新消息。我在CollectionView.ItemTemplate标记外部测试了相同的代码Binding OrderStatusMessage,它工作正常,因此只有当我将其放入CollectionView.ItemTemplate标记内部时,才不会提取更新的文本。

在下面的代码中,只有一个属性绑定到其xaml.cs文件(代码隐藏),该文件位于第10行{Binding OrderStatusMessage},未获得更新的文本,其余属性绑定到MVVM,运行良好。

PS:我想在第4行添加多重绑定到下面的代码中:

文件名:订单详细信息视图页面.xaml

<CollectionView.ItemTemplate >
                            <DataTemplate >
                                <StackLayout
                                    xct:TouchEffect.LongPressCommand="{Binding LongPressCommand, Source={RelativeSource AncestorType={x:Type local:OrderDetailViewModel}}}"
                                    xct:TouchEffect.LongPressCommandParameter="{Binding .}"
                                    xct:TouchEffect.PressedScale="1.2"
                                    xct:TouchEffect.NativeAnimation="True">

                                    <StackLayout>
                                        <Label Text="{Binding OrderStatusMessage}" HorizontalOptions="CenterAndExpand" FontFamily="fasolid" FontSize="18" FontAttributes="Bold" TextColor="Black"/>
                                    </StackLayout>

                                    <Label Text="{Binding Id}"
                                        FontSize="Medium"/>
                                    <Label Text="Order number" HorizontalOptions="CenterAndExpand"/>
                                    <Label Text="{Binding OrderId}"
                                        TextColor="Purple" FontAttributes="Bold"
                                        FontSize="Large" HorizontalOptions="CenterAndExpand"/>
                                    <Label Text="{Binding OrderDetail}"
                                        TextColor="Purple"
                                        FontSize="Small" />
                                    <Label Text="{Binding OrderDate}"
                                        TextColor="Purple"
                                        FontSize="Small" />
                                    <Label Text="{Binding IsOrderComplete}"
                                        TextColor="Purple"
                                        FontSize="Small" />
                                </StackLayout>
                            </DataTemplate>
                        </CollectionView.ItemTemplate>
5t7ly7z5

5t7ly7z51#

您是否尝试过使用Path属性将标签绑定到CollectionView.ItemTemplate中?如下所示:<Label Text = "{Binding Path=OrderStatusMessage, Source = {x:Reference pageName}}"/>

相关问题