Csharp/C#教程:使用INotifyPropertyChanged的静态属性。 C#分享


使用INotifyPropertyChanged的静态属性。 C#

我正在尝试创建一个静态属性,其中INotifyPropertyChanged将更新对我绑定的DataGrid ComboBox所做的任何更改。

我收到此错误,

错误CS0026关键字’this’在静态属性,静态方法或静态字段中无效

通过我的搜索,我发现了为什么你不能在.Net的静态方法中使用关键字’this’? ,但即使经历了一切,我仍然无法弄清楚如何让这个工作。

但是,我改变的任何东西只会否定我试图用INotifyPropertyChanged制作一个静态属性???

我的代码:

 private static List _nursingHomeSectionListProperty; public static List NursingHomeSectionListProperty { get { return _nursingHomeSectionListProperty; } set { _nursingHomeSectionListProperty = value; NotifyStaticPropertyChanged(); } } 

而Property改变了处理程序

 public static event PropertyChangedEventHandler StaticPropertyChanged; public static void NotifyStaticPropertyChanged([CallerMemberName] string propertyName = null) { StaticPropertyChanged?.Invoke(this, new PropertyChangedEventArgs(propertyName)); } 

以下代码是我如何使用属性更改处理程序的非静态属性,

 public event PropertyChangedEventHandler PropertyChanged; public void NotifyPropertyChanged([CallerMemberName] string propertyName = null) { PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(propertyName)); } 

只需传递null而不是:

 public static event PropertyChangedEventHandler StaticPropertyChanged; private static void NotifyStaticPropertyChanged([CallerMemberName] string name = null) { StaticPropertyChanged?.Invoke(null, new PropertyChangedEventArgs(name)); } 

有关静态属性更改通知的详细信息,请参阅此博客文章

上述就是C#学习教程:使用INotifyPropertyChanged的静态属性。 C#分享的全部内容,如果对大家有所用处且需要了解更多关于C#学习教程,希望大家多多关注—计算机技术网(www.ctvol.com)!

本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。

ctvol管理联系方式QQ:251552304

本文章地址:https://www.ctvol.com/cdevelopment/1039092.html

(0)
上一篇 2022年1月26日
下一篇 2022年1月26日

精彩推荐