Что лучший способ состоит в том, чтобы назвать событием PropertyChanged INotifyPropertyChanged? [дубликат]

Вы также можете попробовать использовать функцию Replace в Sql Server, как показано ниже.

Когда значение находится в (-) ве.

Select CAST(REPLACE(CAST(-945 as Varchar(4)), '-', '') as Int)

Когда значение уже находится в (+) ве.

Select CAST(REPLACE(CAST(945 as Varchar(4)), '-', '') as Int)

Выход в обоих случаях будет: 945

10
задан Brann 28 January 2009 в 19:02
поделиться

2 ответа

На самом деле это - только 3-4 строки на свойство; другие строки амортизируются по всем свойствам "уведомления":

class Person : INotifyPropertyChanged
{
    #region INotifyPropertyChanged: Shared bit
    public event PropertyChangedEventHandler PropertyChanged;

    private void OnPropertyChanged(PropertyChangedEventArgs e)
    {
        if (PropertyChanged != null)
            PropertyChanged(this, e);
    }
    #endregion

    private string _firstName;
    public string FirstName
    {
        get { return _firstName; }
        set
        {
            if (_firstName == value)
                return;
            _firstName = value;
            OnPropertyChanged(new PropertyChangedEventArgs("FirstName"));
        }
    }

    // Ditto for other properties
}

Вы могли попробовать что-то как следующее, которое совместно использует еще часть загрузки:

private string _firstName;
public string FirstName
{
    get { return _firstName; }
    set { SetNotifyingProperty("FirstName", ref _firstName, value); }
}
private void SetNotifyingProperty<T>(string propertyName,
                                     ref T field, T value)
{
    if (value.Equals(field))
        return;
    field = value;
    OnPropertyChanged(new PropertyChangedEventArgs(propertyName));
}
7
ответ дан 4 December 2019 в 01:32
поделиться

Что я делаю на данный момент то, что я пишу это в своем классе:

 //AUTOGENERATE INotifyProperty
 private bool myfield;

И я записал мелкий инструмент, которые генерируют весь необходимый код свойства в частичном классе. Это не путем изящное решение, но оно работает :)

2
ответ дан 4 December 2019 в 01:32
поделиться
Другие вопросы по тегам:

Похожие вопросы: