private void Main_OnLayoutUpdated(object sender, EventArgs e) { label1.Content = Classes.Global.X.ToString(); Classes.Global.PositionChanged(this); }
PositionChanged записывает в X новую X-позицию окна.Это работает, но как только я удаляю label1, он перестает работать.Нет ошибок.
PositionChanged
label1
Полагаю, Classes.Global.X что-то делает (возможно, создает синглтон?) И PositionChanged проверяет, является ли что-то нулевым, что х создал бы и, следовательно, ничего не делает?
попробуйте var x = Classes.Global.X вместо метки.
Если вы удалите label1, то попытка установить что-либо на label1, вероятно, будет происходить через исключение, которое игнорируется, может быть исключение удаленного объекта или исключение нулевой ссылки, попробуйте обернуть все в try catch и зарегистрировать исключение.
Я возьму удар здесь и предложу не удалять label1, а просто установить свойство visible1 label1 в false.
По крайней мере, таким образом вы можете поддерживать метод и не ломать приложение.