Exemple #1
0
        protected override void OnBindingContextChanged()
        {
            base.OnBindingContextChanged();
            Debug.WriteLine("ContactsCell: OnBindingContextChanged()");
            if (BindingContext != null)
            {
                NameLabel.Text = Name;

                if (PhoneNumbersAsStrings.Count == 0)
                {
                    Debug.WriteLine("Error: No phone numbers for this contact!");
                }
                if (PhoneNumberssAsLong.Count == 0)
                {
                    Debug.WriteLine("Error: No phone numbers as long for this contact!");
                }

                if (ProfileContactNames.Contains(Name))
                {
                    SelectedImage.Source = ImageSource.FromResource("Checked");
                }
                else if (!ProfileContactNames.Contains(Name))
                {
                    SelectedImage.Source = ImageSource.FromResource("NotChecked");
                }

                var imageTapGestureRecognizer = new TapGestureRecognizer();
                imageTapGestureRecognizer.Tapped += (sender, e) =>
                {
                    Debug.WriteLine("Selected Contact: " + Name);
                    if (ProfileContactNames.Contains(Name))
                    {
                        Debug.WriteLine("Contact is " + Name + " is now disselected ...");
                        SelectedImage.Source = ImageSource.FromResource("NotChecked");
                        SelectContactsPage.ModifyProfileContact('r', Name, PhoneNumbersAsStrings, PhoneNumberssAsLong);
                        foreach (string name in SelectContactsPage.GetProfileContactNames())
                        {
                            Debug.WriteLine(name);
                        }
                        foreach (string number in SelectContactsPage.GetProfileContactNumbers())
                        {
                            Debug.WriteLine(number);
                        }
                        foreach (long number in SelectContactsPage.GetProfileContactNumbersAsLongs())
                        {
                            Debug.WriteLine(number);
                        }
                    }
                    else if (!ProfileContactNames.Contains(Name))
                    {
                        Debug.WriteLine("Contact is " + Name + " is now selected ...");
                        SelectedImage.Source = ImageSource.FromResource("Checked");
                        SelectContactsPage.ModifyProfileContact('a', Name, PhoneNumbersAsStrings, PhoneNumberssAsLong);
                        foreach (string name in SelectContactsPage.GetProfileContactNames())
                        {
                            Debug.WriteLine(name);
                        }
                        foreach (string number in SelectContactsPage.GetProfileContactNumbers())
                        {
                            Debug.WriteLine(number);
                        }
                        foreach (long number in SelectContactsPage.GetProfileContactNumbersAsLongs())
                        {
                            Debug.WriteLine(number);
                        }
                    }
                };
                SelectedImage.GestureRecognizers.Add(imageTapGestureRecognizer);
            }
        }