我绑定了很多东西,没有问题,但是由于某种原因,这个东西没有用。我有一个基本的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"/>
我知道该文本块可以正常工作,因为我可以将其他属性绑定到它,但是由于某种原因它不会显示该属性。你知道为什么吗?
答案 0 :(得分:0)
TextBlock的默认绑定可能不是双向。因此,可以在xaml中将其明确设置为TwoWay并检查一次。
此外,RaisePropertyChanged是自定义实现权限。您可以在调试过程中进入它,看看事件是否为空吗?