Как устранить ошибку параметра с помощью ICommand - PullRequest
0 голосов
/ 11 марта 2020

Вот ошибка:

enter image description here

Простите, если это слишком расплывчато, я попытался найти решение этой проблемы, но ничего не кажется сделать для меня смысл Вот моя команда, которая привязывается к кнопке в моем представлении: enter image description here

Что OnPropagateReminderCode () , то приводит к этому здесь:

 void OnPropagateReminderCode(object sender)
        {
            ReminderCodeViewModel code = (ReminderCodeViewModel)sender;
            if (this.parcelOwnerships.Count > 0)
                {
                    var message = "";
                    if (code.IsReminderCodeChecked)
                    {
                        message = "Do you want to apply this reminder " + code.ReminderCodeDescription + " to all Owner's parcels? ";
                    }
                    else
                    {
                        message = "Do you want to remove this reminder " + code.ReminderCodeDescription + " from all Owner's parcels? ";
                    }

                    var result = MessageBox.Show(message, "Reminder Codes", MessageBoxButton.YesNo);
                    if (result == MessageBoxResult.Yes)
                    {
                        IList<Parcel> _ownerParcels;
                        _ownerParcels = parcelOwnerships.Select(owner => owner.Parcel).ToList();

                        foreach (Parcel p in _ownerParcels)
                        {
                            if (p != null)
                            {
                                var _default = p.ParcelReminderCodes.Where(d => d.ReminderCodeID.ToString() == code.Code).FirstOrDefault();
                                if (code.IsReminderCodeChecked && _default == null)
                                {
                                    ParcelReminderCode reminderCode = new ParcelReminderCode(AppSession.Repository);
                                    reminderCode.Parcel = p;
                                    reminderCode.ReminderCode = code._reminderCode;
                                    reminderCode.ModifiedBy = AppSession.CurrentUser.Login;
                                    reminderCode.ModifiedDate = DateTime.Now;
                                    p.AddParcelReminderCode(reminderCode);
                                    ParcelTabs.OnSaveParcel(p, _parcel.Ownerships[0].Owner);
                                }
                                else if (!code.IsReminderCodeChecked && _default != null)
                                {
                                    p.RemoveParcelReminderCode(_default);
                                    ParcelTabs.OnSaveParcel(p, _parcel.Ownerships[0].Owner);
                                }
                                else
                                {
                                    MessageBox.Show("There is no Reminder code on this property to propagate");
                                }
                            }
                        }
                    }
                }

        }

Я знаю, что параметр «Отправитель» не передается, но как бы я go решил это / законно ли это делать? Я хочу, чтобы команда привязывалась к этому, так как этот logi c вот что будет распространяться при нажатии.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...