Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using Haski.Core.Common;
- using Haski.Core.Extensions.Forms;
- using Haski.Core.Extensions.MvvmCross;
- using Haski.Core.UI.Converters;
- using Haski.Core.UI.MvvmCrossBindings;
- using Haski.Core.ViewModels.Main.ProjectManager.Items;
- using Xamarin.Forms;
- using Xamarin.Forms.Xaml;
- namespace Haski.Core.UI.Pages.Main.ProjectManager.Items
- {
- [XamlCompilation(XamlCompilationOptions.Compile)]
- public partial class OrderItemComponent : AbsoluteLayout
- {
- private ViewBinder<OrderItemComponentViewModel> _viewBinder;
- public OrderItemComponent()
- {
- InitializeComponent();
- _viewBinder = this.CreateViewBinder<OrderItemComponentViewModel>(Bind);
- }
- protected override void OnBindingContextChanged()
- {
- base.OnBindingContextChanged();
- if(BindingContext is not OrderItemComponentViewModel itemViewModel)
- {
- return;
- }
- OrderTitle.Text = itemViewModel.OrderTitle;
- OrderAdress.Text = itemViewModel.OrderAdress;
- Date.Text = itemViewModel.Date;
- PhoneNumber.Text = itemViewModel.PhoneNumber;
- if ((bool)itemViewModel.IsPaid)
- {
- IsPaid.Text = "ОПЛАЧЕННЫЙ";
- IsPaid.TextColor = Constants.Colors.AvagduGreen;
- IsPaidFrame.BackgroundColor = Constants.Colors.MistyLawn;
- }
- else
- {
- IsPaid.Text = "НЕОПЛАЧЕННЫЙ";
- IsPaid.TextColor = Constants.Colors.Bittersweet;
- IsPaidFrame.BackgroundColor = Constants.Colors.UnburdenedPink;
- if (itemViewModel.IsPaid is null)
- {
- IsPaidFrame.IsVisible = false;
- }
- }
- if (Date is null)
- {
- DateFrame.IsVisible = false;
- }
- if (Price is null)
- {
- PriceFrame.IsVisible = false;
- }
- if (PhoneNumber is null)
- {
- PhoneNumberFrame.IsVisible = false;
- }
- OrderTitle.Text = itemViewModel.OrderTitle;
- OrderTitle.Text = itemViewModel.OrderTitle;
- }
- private void Bind()
- {
- using var bindingSet = _viewBinder.CreateBindingSet();
- bindingSet.Bind(Price).For(v => v.Text).To(vm => vm.Price)
- .WithConversion<PriceConverter>();
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment