Привязка TextBlock к свойству пользователя отображает пустой текст - PullRequest
0 голосов
/ 16 ноября 2018

Я связал много вещей без проблем, но этот почему-то не работает.У меня есть базовая модель представления, которая загружает свойство с именем User из окна входа в систему:

public void LoadUser()
   {
   if ((LoginState?)Application.Current.Properties["LoginState"] == LoginState.Success)
      {
      User = new UserModel((string)Application.Current.Properties["UserLName"], (string)Application.Current.Properties["UserFName"], (int)Application.Current.Properties["UserLevel"]);
      RaisePropertyChanged("User");
      }
   }

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

<TextBlock Text="{Binding Path=Name, Source=User}"
           Grid.Column="1" Grid.Row="1" Foreground="Black"/>

Я знаю, что текстовый блок работает, поскольку я могу связать с ним другие свойства, но по какой-то причине он не будет отображать это свойство.Вы понимаете почему?

1 Ответ

0 голосов
/ 16 ноября 2018

Связывание по умолчанию TextBlock МОЖЕТ не быть двухсторонним.Так что вы можете установить его в TwoWay явно в xaml и проверить один раз.

Кроме того, RaisePropertyChanged является правильным вариантом реализации.Можете ли вы войти в него во время отладки и посмотреть, является ли событие пустым?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...