Делегат действия, отправляющий нулевое значение в mvvm wpf

Этот код ниже предназначен для моей ButtonCommand

class ButtonCommand : ICommand
{
    private Action<object> whatToExecute;



    public ButtonCommand(Action<object> whatToExecute)
    {
        this.whatToExecute = whatToExecute;

    }

    public event EventHandler CanExecuteChanged;

    public bool CanExecute(object parameter)
    {
        return true;
    }

    public void Execute(object parameter)
    {
        //parameter have value          
        whatToExecute(parameter);

    }
}

И этот ниже код предназначен для моей модели PersonViewModel в этом классе, я получаю данные из представления и вызываю делегат, который подключается к методам Insert и Delete и передаю их классу ButtonCommand:

PersonType personType;
    private ButtonCommand insertCommand;
    private ButtonCommand deleteCommand;

    public event PropertyChangedEventHandler PropertyChanged;

    public PersonTypeViewModel()
    {
        personType = new PersonType();
        insertCommand = new ButtonCommand((p)=> { Insert(PersonType); });
        deleteCommand = new ButtonCommand((s) => { Delete(PersonType); });
    }

    public ICommand btnClickInsert
    {
        get
        {
            return insertCommand;
        }
    }

    public ICommand btnClickDelete
    {
        get
        {
            return deleteCommand;
        }
    }
    public void Insert(PersonType personType)
    {            
        if (this.personType.Insert(personType) == 1)
        {
            MessageBox.Show("Successfull Insert");
        }
        PropertyChanged(this, new PropertyChangedEventArgs("GetAll"));
    }

    public List<PersonType> GetAll
    {
        get
        {
            return personType.GetAll();
        }
    }

    public void Delete(PersonType personType)
    {
        if (this.personType.Delete(personType) == 1)
        {
            MessageBox.Show("Successfull Delete");
        }
        PropertyChanged(this, new PropertyChangedEventArgs("GetAll"));
    }

этот код предназначен для моего PersonType:

public PersonType()
   {
    int id { get; set; }
    string typeName { get; set; }
    string description { get; set; }
   }

в методах Insert и Delete значения personType имеют значение null Как я могу решить эту проблему?

Непонятно, о чем вы спрашиваете. Что такое PersonType в Insert(PersonType) и Delete(PersonType)? Есть ли свойство PersonType?

Clemens 01.05.2018 22:10

это класс для моих данных, этот вопрос такой любвеобильный

komeil shahmoradi 01.05.2018 22:23

Но он не компилируется ...?

Clemens 01.05.2018 22:30

Покажите, пожалуйста, код, откуда вызываются команды insertCommand / deleteCommand?

Shivani Katukota 02.05.2018 13:16

Конструктор PersonTypeViewModel

komeil shahmoradi 02.05.2018 14:51
Стоит ли изучать PHP в 2023-2024 годах?
Стоит ли изучать PHP в 2023-2024 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
0
5
46
0

Другие вопросы по теме