TextBox использует внутренний класс для обеспечения большей части своих функций.Этот же класс используется совместно с RichTextBox.Я полагаю, что TextBox предполагает, что Text будет пустым при построении, поэтому пользовательский интерфейс не обновляется.
Следует иметь в виду, что вы фактически закорачивали метод TextBox.OnTextPropertyChanged от вызова.Если вы хотите переопределить PropertyChangedCallback, вам, вероятно, потребуется вручную вызвать версию TextBox, чтобы убедиться, что все работает должным образом.
Вы можете перейти к PropertyChangedCallback базового класса, используя TextProperty. GetMetadata (typeof(TextBox)) .PropertyChangedCallback.
Вы можете вызвать PropertyChangedCallback TextBox в конструкторе экземпляра, чтобы принудительно обновить пользовательский интерфейс.В противном случае вам нужно установить текст напрямую.