【问题标题】:Why isn't the view updating?为什么视图不更新?
【发布时间】:2015-07-01 17:20:05
【问题描述】:

我的应用程序中有一个登录页面,页面上有一个文本框,显示错误的用户名/密码等情况。我正在从视图模型更新错误,但视图不会自动更改。

viewmodel 实现了 INotifyPropertyChanged 接口。

错误定义。

string _error;

    public string Error
    {
        get { return _error; }
        set 
        {
            _error = value;
            NotifyPropertyChanged("Error");
        }
    }

INotify 事件处理程序

public event PropertyChangedEventHandler PropertyChanged;

    protected void NotifyPropertyChanged(String info)
    {
        if (PropertyChanged != null)
        {
            PropertyChanged(this, new PropertyChangedEventArgs(info));
        }
    }

更新

_error = "Wrong username/password!";

xaml

<TextBlock Text="{Binding Error, UpdateSourceTrigger=PropertyChanged}"/>

我还缺少什么?

【问题讨论】:

  • 你设置了datacontext吗?并显示您的 XAML 绑定
  • 你应该设置 Error 而不是 _error
  • 我已经设置了数据上下文。其他字段(如用户名工作和登录等命令)在视图中完美绑定。
  • 谢谢!使用 Error 而不是 _error 并且效果很好。

标签: c# wpf xaml data-binding inotifypropertychanged


【解决方案1】:

像这样设置你的错误,你只是在更改未绑定到的私有成员:

Error="Wrong username/password!";

不是_error

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-04-10
    • 1970-01-01
    • 1970-01-01
    • 2018-07-15
    • 2021-09-23
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多