绑定到用户属性的TextBlock显示空文本

时间:2018-11-16 03:52:47

标签: c# wpf xaml data-binding

我绑定了很多东西,没有问题,但是由于某种原因,这个东西没有用。我有一个基本的viewmodel,可以从登录窗口加载名为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");
      }
   }

根据断点值,此部分可以正常工作。此属性用户位于作为我的MainWindow的DataContext附加的视图模型的基础上。我将其与此绑定在视图上:

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

我知道该文本块可以正常工作,因为我可以将其他属性绑定到它,但是由于某种原因它不会显示该属性。你知道为什么吗?

1 个答案:

答案 0 :(得分:0)

TextBlock的默认绑定可能不是双向。因此,可以在xaml中将其明确设置为TwoWay并检查一次。

此外,RaisePropertyChanged是自定义实现权限。您可以在调试过程中进入它,看看事件是否为空吗?