Пожалуйста, мне нужна помощь.
У меня есть приложение Xamarin Form, которое очень хорошо работает с привязкой данных к своей модели представления с именем OrderDetailViewModel.
Но сегодня я должен добавить еще одно поле DataBinding в строку 10 Binding OrderStatusMessage
, которое связано с его файлом Xaml.cs (код позади), но из любопытства это поле не работает, я имею в виду, что оно не меняет текст метки динамически после привязки метки text в свойство, расположенное в его файле xaml.cs (код позади файла).
В строке 4 вы можете найти привязку данных к файлу MVVM с именем OrderDetailViewModel, который работает хорошо.
Но проблема в строке 10 Binding OrderStatusMessage
, которая представляет собой привязку данных к собственному файлу xaml.cs, не изменяет текст метки на новое сообщение.
Я протестировал тот же код Binding OrderStatusMessage
вне тега CollectionView.ItemTemplate, и он работает правильно, поэтому только когда я помещаю внутри тег CollectionView.ItemTemplate, он не извлекает обновленный текст.
В приведенном ниже коде есть только одно свойство, которое привязано к его файлу xaml.cs (код позади), который находится в строке 10 {Binding OrderStatusMessage}
, который не получает обновленный текст, остальные привязаны к MVVM, который работает хорошо.
PS: я хотел бы добавить множественную привязку к приведенному ниже коду в строке 4:
имя файла: OrderDetailViewPage.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>
🤔 А знаете ли вы, что...
С C# можно разрабатывать мобильные приложения для платформы Android с использованием Xamarin.