public override void ViewDidLoad() { base.ViewDidLoad(); cancel = new UIBarButtonItem("Cancel", UIBarButtonItemStyle.Bordered, (sender, e) => { controller.Dismiss(true); }); cancel.SetTitleTextAttributes(new UITextAttributes { TextColor = UIColor.White }, UIControlState.Normal); cancel.SetBackgroundImage(Theme.DarkBarButtonItem, UIControlState.Normal, UIBarMetrics.Default); save = new UIBarButtonItem("Save", UIBarButtonItemStyle.Bordered, (sender, e) => { //If blank, return if (signatureView.IsBlank) { new UIAlertView(string.Empty, "No signature!", null, "Ok").Show(); return; } if (assignmentViewModel.Signature == null) { assignmentViewModel.Signature = new Data.Signature { AssignmentId = assignmentViewModel.SelectedAssignment.Id }; } assignmentViewModel.Signature.Image = signatureView.GetImage().ToByteArray(); assignmentViewModel.SaveSignatureAsync() .ContinueWith(_ => { BeginInvokeOnMainThread(() => controller.Dismiss(true)); }); }); save.SetTitleTextAttributes(new UITextAttributes { TextColor = UIColor.White }, UIControlState.Normal); save.SetBackgroundImage(Theme.DarkBarButtonItem, UIControlState.Normal, UIBarMetrics.Default); NavigationItem.LeftBarButtonItem = cancel; NavigationItem.RightBarButtonItem = save; NavigationController.NavigationBar.SetBackgroundImage(null, UIBarMetrics.Default); signatureView = new SignaturePadView(View.Frame) { AutoresizingMask = UIViewAutoresizing.All, }; View.AddSubview(signatureView); }
protected override void OnCreate(Bundle bundle) { base.OnCreate(bundle); SetContentView(Resource.Layout.AddSignatureLayout); var save = (Button)FindViewById(Resource.Id.signatureSaveButton); save.Click += (sender, e) => { if (signatureView.IsBlank) { AlertDialog.Builder builder = new AlertDialog.Builder(Activity); builder .SetTitle(string.Empty) .SetMessage("No signature!") .SetPositiveButton("Ok", (innerSender, innere) => { }) .Show(); return; } if (assignmentViewModel.Signature == null) { assignmentViewModel.Signature = new Signature { AssignmentId = Assignment.Id }; } assignmentViewModel.Signature.Image = signatureView.GetImage(Color.Black, Color.White).ToByteArray(); assignmentViewModel.SaveSignatureAsync() .ContinueWith(_ => { activity.RunOnUiThread(() => { var fragment = Activity.FragmentManager.FindFragmentById <ConfirmationFragment> (Resource.Id.contentFrame); fragment.ReloadConfirmation(); Dismiss(); }); }); }; var cancel = (Button)FindViewById(Resource.Id.signatureCancelButton); cancel.Click += (sender, e) => { Dismiss(); }; signatureView = (SignaturePadView)FindViewById(Resource.Id.signatureImage); signatureView.BackgroundColor = Color.White; signatureView.StrokeColor = Color.Black; }