c# - MvvmLight RaisePropertyChanged ("")

标签 c# mvvm-light

根据 MSDN doc on PropertyChanged ,如果将空字符串传递给该方法,则所有属性都会刷新。使用MvvmLight RaisePropertyChanged时有这样的事情吗?传递“”只需用“”抛出事件即可。

最佳答案

MVVM Light 似乎有一个检查功能,可以检查您传入的属性名称是否存在。在这种情况下这是没有意义的。

快速搜索显示 issue logged on the CodePlex site并标记为已关闭和已修复,并且它似乎确实在最新的代码库中已修复。您使用什么版本?

如果您无法升级,我想您可以添加自己的调用器(请注意 protected PropertyChangedHandler 访问器存在于 5.x 中,我不知道它是否存在于您的版本中)。

private void RaiseAllPropertiesChanged()
{
    var handler = PropertyChangedHandler;

    if (handler != null)
    {
        handler(this, new PropertyChangedEventArgs(string.Empty));            
    }
}

如果您使用的是 V3,似乎没有解决方案(PropertyChangedHandler 不存在,属性验证将引发您所看到的异常)。由于这似乎是一个已修复的已知错误,因此我建议使用更高版本。

关于c# - MvvmLight RaisePropertyChanged (""),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29677453/

相关文章:

c# - 使用 jquery 设置一个值,在提交数据时删除对 ViewModel 的绑定(bind)

c# - 从头开始构建我自己的 mvvm 项目?

c# - 使用 mvvm 填充 Listview

c# - MongoDB 组合键 : InvalidOperationException: {document}. 不支持身份

c# - 如何合并两个 LINQ 查询但第二个查询需要更多字段

c# - Navisworks TreeView 到数据表

c# - 当我的所有 .XSD 都存储为资源时,如何解析 .XSD 的 schemaLocation 属性?

c# - MVVM Light Toolkit 的文档/示例?

wpf - 检测何时发生 OnPropertyChanged

mvvm - 使用 Mvvm-light(oobe)+MEF 的 Silverlight 导航?