public override void AwakeFromNib() { base.AwakeFromNib(); this.DelayBind(() => { var colorConverter = new MvxRGBValueConverter(); var durationCombiner = new DurationValueCombiner(); var bindingSet = this.CreateBindingSet <ReportsLegendViewCell, ChartSegment>(); //Text bindingSet.Bind(ProjectLabel).To(vm => vm.ProjectName); bindingSet.Bind(PercentageLabel) .For(v => v.Text) .ByCombining("Format", "'{0:0.00}%'", nameof(ChartSegment.Percentage)); bindingSet.Bind(TotalTimeLabel) .ByCombining(durationCombiner, vm => vm.TrackedTime, vm => vm.DurationFormat); // Color bindingSet.Bind(ProjectLabel) .For(v => v.TextColor) .To(vm => vm.Color) .WithConversion(colorConverter); bindingSet.Bind(CircleView) .For(v => v.BackgroundColor) .To(vm => vm.Color) .WithConversion(colorConverter); bindingSet.Apply(); }); }
public override void AwakeFromNib() { base.AwakeFromNib(); TimeLabel.Font = TimeLabel.Font.GetMonospacedDigitFont(); this.DelayBind(() => { var colorConverter = new MvxRGBValueConverter(); var visibilityConverter = new MvxVisibilityValueConverter(); var timeSpanConverter = new TimeSpanToDurationValueConverter(); var descriptionTopDistanceValueConverter = new BoolToConstantValueConverter <nfloat>(HasProjectDistance, NoProjectDistance); var bindingSet = this.CreateBindingSet <TimeEntriesLogViewCell, TimeEntryViewModel>(); //Text bindingSet.Bind(ProjectLabel).To(vm => vm.ProjectName); bindingSet.Bind(DescriptionLabel).To(vm => vm.Description); bindingSet.Bind(TimeLabel) .To(vm => vm.Duration) .WithConversion(timeSpanConverter); //Color bindingSet.Bind(ProjectLabel) .For(v => v.TextColor) .To(vm => vm.ProjectColor) .WithConversion(colorConverter); bindingSet.Bind(ProjectDotView) .For(v => v.BackgroundColor) .To(vm => vm.ProjectColor) .WithConversion(colorConverter); //Visibility bindingSet.Bind(DescriptionTopDistanceConstraint) .For(v => v.Constant) .To(vm => vm.HasProject) .WithConversion(descriptionTopDistanceValueConverter); bindingSet.Bind(ProjectLabel) .For(v => v.BindVisibility()) .To(vm => vm.HasProject) .WithConversion(visibilityConverter); bindingSet.Bind(ProjectDotView) .For(v => v.BindVisibility()) .To(vm => vm.HasProject) .WithConversion(visibilityConverter); bindingSet.Bind(TaskLabel) .For(v => v.BindVisibility()) .To(vm => vm.HasProject) .WithConversion(visibilityConverter); bindingSet.Apply(); }); }
public override void AwakeFromNib() { base.AwakeFromNib(); ContentView.BackgroundColor = UIColor.White; FadeView.Layer.AddSublayer(new CAGradientLayer { Colors = new[] { UIColor.White.ColorWithAlpha(0.0f).CGColor, UIColor.White.CGColor }, Locations = new[] { new NSNumber(0.0f), new NSNumber(0.2f) }, StartPoint = new CGPoint(0.0, 0.5), EndPoint = new CGPoint(1.0, 0.5), Frame = FadeView.Bounds }); StartButton.TouchUpInside += onStartButtonTap; this.DelayBind(() => { var colorConverter = new MvxRGBValueConverter(); var visibilityConverter = new MvxVisibilityValueConverter(); var timeSpanConverter = new TimeSpanToDurationValueConverter(); var descriptionTopDistanceValueConverter = new BoolToConstantValueConverter <nfloat>(HasProjectDistance, NoProjectDistance); var projectTaskClientCombiner = new ProjectTaskClientValueCombiner( ProjectTaskClientLabel.Font.CapHeight, Color.Suggestions.ClientColor.ToNativeColor(), true ); var bindingSet = this.CreateBindingSet <SuggestionsViewCell, Suggestion>(); //Text bindingSet.Bind(DescriptionLabel).To(vm => vm.Description); bindingSet.Bind(ProjectTaskClientLabel) .For(v => v.AttributedText) .ByCombining(projectTaskClientCombiner, v => v.ProjectName, v => v.TaskName, v => v.ClientName, v => v.ProjectColor); //Visibility bindingSet.Bind(DescriptionTopDistanceConstraint) .For(v => v.Constant) .To(vm => vm.HasProject) .WithConversion(descriptionTopDistanceValueConverter); bindingSet.Bind(ProjectTaskClientLabel) .For(v => v.BindVisibility()) .To(vm => vm.HasProject) .WithConversion(visibilityConverter); bindingSet.Apply(); }); }
public override void AwakeFromNib() { base.AwakeFromNib(); ContentView.BackgroundColor = UIColor.White; this.DelayBind(() => { var colorConverter = new MvxRGBValueConverter(); var visibilityConverter = new MvxVisibilityValueConverter(); var timeSpanConverter = new TimeSpanToDurationValueConverter(); var descriptionTopDistanceValueConverter = new BoolToConstantValueConverter <nfloat>(HasProjectDistance, NoProjectDistance); var bindingSet = this.CreateBindingSet <SuggestionsViewCell, Suggestion>(); //Text bindingSet.Bind(ProjectLabel).To(vm => vm.ProjectName); bindingSet.Bind(DescriptionLabel).To(vm => vm.Description); //Color bindingSet.Bind(ProjectLabel) .For(v => v.TextColor) .To(vm => vm.ProjectColor) .WithConversion(colorConverter); bindingSet.Bind(ProjectDotView) .For(v => v.BackgroundColor) .To(vm => vm.ProjectColor) .WithConversion(colorConverter); //Visibility bindingSet.Bind(DescriptionTopDistanceConstraint) .For(v => v.Constant) .To(vm => vm.HasProject) .WithConversion(descriptionTopDistanceValueConverter); bindingSet.Bind(ProjectLabel) .For(v => v.BindVisibility()) .To(vm => vm.HasProject) .WithConversion(visibilityConverter); bindingSet.Bind(ProjectDotView) .For(v => v.BindVisibility()) .To(vm => vm.HasProject) .WithConversion(visibilityConverter); bindingSet.Bind(TaskLabel) .For(v => v.BindVisibility()) .To(vm => vm.HasProject) .WithConversion(visibilityConverter); bindingSet.Apply(); }); }
public override void AwakeFromNib() { base.AwakeFromNib(); ContentView.BackgroundColor = UIColor.White; FadeView.FadeRight = true; StartButton.TouchUpInside += onStartButtonTap; this.DelayBind(() => { var colorConverter = new MvxRGBValueConverter(); var visibilityConverter = new MvxVisibilityValueConverter(); var timeSpanConverter = new TimeSpanToDurationValueConverter(); var descriptionTopDistanceValueConverter = new BoolToConstantValueConverter <nfloat>(HasProjectDistance, NoProjectDistance); var projectTaskClientCombiner = new ProjectTaskClientValueCombiner( ProjectTaskClientLabel.Font.CapHeight, Color.Suggestions.ClientColor.ToNativeColor(), true ); var bindingSet = this.CreateBindingSet <SuggestionsViewCell, Suggestion>(); //Text bindingSet.Bind(DescriptionLabel).To(vm => vm.Description); bindingSet.Bind(ProjectTaskClientLabel) .For(v => v.AttributedText) .ByCombining(projectTaskClientCombiner, v => v.ProjectName, v => v.TaskName, v => v.ClientName, v => v.ProjectColor); //Visibility bindingSet.Bind(DescriptionTopDistanceConstraint) .For(v => v.Constant) .To(vm => vm.HasProject) .WithConversion(descriptionTopDistanceValueConverter); bindingSet.Bind(ProjectTaskClientLabel) .For(v => v.BindVisibility()) .To(vm => vm.HasProject) .WithConversion(visibilityConverter); bindingSet.Apply(); }); }
public override void AwakeFromNib() { base.AwakeFromNib(); ClientNameLabel.LineBreakMode = UILineBreakMode.TailTruncation; ProjectNameLabel.LineBreakMode = UILineBreakMode.TailTruncation; this.DelayBind(() => { var colorConverter = new MvxRGBValueConverter(); var taskCountConverter = new TaskCountConverter(); var visibilityConverter = new MvxVisibilityValueConverter(); var bindingSet = this.CreateBindingSet <StartTimeEntryProjectsViewCell, ProjectSuggestionViewModel>(); //Text bindingSet.Bind(ProjectNameLabel).To(vm => vm.ProjectName); bindingSet.Bind(ClientNameLabel).To(vm => vm.ClientName); bindingSet.Bind(AmountOfTasksLabel) .To(vm => vm.NumberOfTasks) .WithConversion(taskCountConverter); //Color bindingSet.Bind(ProjectNameLabel) .For(v => v.TextColor) .To(vm => vm.ProjectColor) .WithConversion(colorConverter); bindingSet.Bind(ProjectDotView) .For(v => v.BackgroundColor) .To(vm => vm.ProjectColor) .WithConversion(colorConverter); //Visibility bindingSet.Bind(ToggleTaskImage) .For(v => v.BindVisibility()) .To(vm => vm.NumberOfTasks) .WithConversion(visibilityConverter); bindingSet.Apply(); }); }
public override void AwakeFromNib() { base.AwakeFromNib(); FadeView.FadeRight = true; TimeLabel.Font = TimeLabel.Font.GetMonospacedDigitFont(); ContinueButton.TouchUpInside += onContinueButtonTap; this.DelayBind(() => { var colorConverter = new MvxRGBValueConverter(); var visibilityConverter = new MvxVisibilityValueConverter(); var timeSpanConverter = new TimeSpanToDurationValueConverter(); var invertedVisibilityConverter = new MvxInvertedVisibilityValueConverter(); var projectTaskClientCombiner = new ProjectTaskClientValueCombiner( ProjectTaskClientLabel.Font.CapHeight, Color.TimeEntriesLog.ClientColor.ToNativeColor(), true ); var descriptionTopDistanceValueConverter = new BoolToConstantValueConverter <nfloat>(hasProjectDistance, noProjectDistance); var bindingSet = this.CreateBindingSet <TimeEntriesLogViewCell, TimeEntryViewModel>(); //Text bindingSet.Bind(DescriptionLabel).To(vm => vm.Description); bindingSet.Bind(ProjectTaskClientLabel) .For(v => v.AttributedText) .ByCombining(projectTaskClientCombiner, v => v.ProjectName, v => v.TaskName, v => v.ClientName, v => v.ProjectColor); bindingSet.Bind(TimeLabel) .To(vm => vm.Duration) .WithConversion(timeSpanConverter); //Visibility bindingSet.Bind(DescriptionTopDistanceConstraint) .For(v => v.Constant) .To(vm => vm.HasProject) .WithConversion(descriptionTopDistanceValueConverter); bindingSet.Bind(ProjectTaskClientLabel) .For(v => v.BindVisibility()) .To(vm => vm.HasProject) .WithConversion(visibilityConverter); bindingSet.Bind(AddDescriptionLabel) .For(v => v.BindVisibility()) .To(vm => vm.HasDescription) .WithConversion(invertedVisibilityConverter); bindingSet.Bind(AddDescriptionTopDistanceConstraint) .For(v => v.Constant) .To(vm => vm.HasProject) .WithConversion(descriptionTopDistanceValueConverter); bindingSet.Bind(SyncErrorImageView) .For(v => v.BindVisibility()) .To(vm => vm.CanSync) .WithConversion(invertedVisibilityConverter); bindingSet.Bind(UnsyncedImageView) .For(v => v.BindVisibility()) .To(vm => vm.NeedsSync) .WithConversion(visibilityConverter); bindingSet.Bind(ContinueButton) .For(v => v.BindVisibility()) .To(vm => vm.CanSync) .WithConversion(visibilityConverter); bindingSet.Bind(ContinueImageView) .For(v => v.BindVisibility()) .To(vm => vm.CanSync) .WithConversion(visibilityConverter); bindingSet.Apply(); }); }
public override void ViewDidLoad() { base.ViewDidLoad(); DurationLabel.Font = DurationLabel.Font.GetMonospacedDigitFont(); PreferredContentSize = View.Frame.Size; resizeSwitch(); var durationConverter = new TimeSpanToDurationWithUnitValueConverter(); var dateConverter = new DateToTitleStringValueConverter(); var timeConverter = new DateTimeToTimeConverter(); var visibilityConverter = new MvxVisibilityValueConverter(); var inverterVisibilityConverter = new MvxInvertedVisibilityValueConverter(); var colorConverter = new MvxRGBValueConverter(); var bindingSet = this.CreateBindingSet <EditTimeEntryViewController, EditTimeEntryViewModel>(); //Text bindingSet.Bind(DescriptionLabel).To(vm => vm.Description); bindingSet.Bind(ProjectLabel).To(vm => vm.Project); bindingSet.Bind(ClientLabel).To(vm => vm.Client); bindingSet.Bind(BillableSwitch).To(vm => vm.Billable); bindingSet.Bind(DurationLabel) .To(vm => vm.Duration) .WithConversion(durationConverter); bindingSet.Bind(StartDateLabel) .To(vm => vm.StartTime) .WithConversion(dateConverter); bindingSet.Bind(StartTimeLabel) .To(vm => vm.StartTime) .WithConversion(timeConverter); //Commands bindingSet.Bind(CloseButton).To(vm => vm.CloseCommand); bindingSet.Bind(DeleteButton).To(vm => vm.DeleteCommand); //Description visibility bindingSet.Bind(AddDescriptionView) .For(v => v.BindVisible()) .To(vm => vm.Description) .WithConversion(visibilityConverter); bindingSet.Bind(DescriptionLabel) .For(v => v.BindVisible()) .To(vm => vm.Description) .WithConversion(inverterVisibilityConverter); //Project visibility bindingSet.Bind(AddProjectAndTaskView) .For(v => v.BindVisible()) .To(vm => vm.Project) .WithConversion(visibilityConverter); bindingSet.Bind(ProjectLabel) .For(v => v.BindVisible()) .To(vm => vm.Project) .WithConversion(inverterVisibilityConverter); bindingSet.Bind(ProjectDot) .For(v => v.BindVisible()) .To(vm => vm.Project) .WithConversion(inverterVisibilityConverter); //Tags visibility bindingSet.Bind(AddTagsView) .For(v => v.BindVisible()) .To(vm => vm.Tags) .WithConversion(visibilityConverter); bindingSet.Bind(TagsLabel) .For(v => v.BindVisible()) .To(vm => vm.Tags) .WithConversion(inverterVisibilityConverter); //Colors bindingSet.Bind(ProjectDot) .For(v => v.BackgroundColor) .To(vm => vm.ProjectColor) .WithConversion(colorConverter); bindingSet.Apply(); }