Изменение статического свойства

181
14 февраля 2018, 08:48

На вопрос подтолкнули ответы из вопроса. Изменения элементов статического списка и вправду подхватываются, но что насчет изменения не элемента, а статического свойства? Такой трюк уже не проходит, изменения не подхватываются:

<Label Content="{Binding ., Source={x:Static local:MainVM.Number}}"/>

код:

static int number = 10;
public static int Number
{
    get { return number; }
    set { number = value; /*OnNumberChanged();*/ }
}

Выходом из ситуации вижу создание статического события ("имя свойства" + постфикс "Changed"):

public static event EventHandler NumberChanged;
static void OnNumberChanged()
{
    if (NumberChanged != null)
    {
        NumberChanged(null, EventArgs.Empty);
    }
}

и привязываться так:

<Label Content="{Binding Number}"/>

Вопросы:

  • Почему принята именно такая нотация названия события ("имя свойства" + постфикс "Changed"), где можно узнать подробнее об этом?
  • Как обойтись без создания таких событий на каждое свойство, чтобы подхватывались изменения?
READ ALSO
Unity WebGL жор памяти

Unity WebGL жор памяти

При первом запуске игры в WebGL она кушает 500 мб памяти, и в общем, меня это устраиваетНо стоит нажать F5 и загрузить игру снова, как диспетчер...

141
Unity3d GetPixels не изменяет текстуру

Unity3d GetPixels не изменяет текстуру

Имеется следующая ситуация: в Unity - у меня есть некий материал содержащий некую текстуруСтоит следующая задача: при скролинге мышью по игровому...

155
Не работает условие

Не работает условие

Не срабатывает true, хотя долженМожет кто увидит ошибку в синтаксисе

187