我不知道它是什么,什么时候使用它。MSDN帮不了我。MSDN声明ICustomTypeDescriptor提供了一个接口,该接口为对象提供动态自定义类型信息。
发布于 2011-10-04 07:01:56
有很多资源展示了ICustomTypeDescriptor接口的不同用例,但简而言之,典型的用例是在标准TypeDescriptor提供的内容之外提供自定义类型描述。该接口很少在不需要返回自定义成员描述符(如自定义PropertyDescriptor )的情况下实现。
Type Descriptor Overview from the MSDN是一个很好的资源,它可能有助于进一步阐明目的和用法。
发布于 2020-12-10 05:59:44
在MVVM中,您应该将ViewModels创建为普通的C#类,公开可以绑定到控件的属性,并可能实现INotifyPropertyChanged,以便在更改属性值时发出通知,以便绑定的控件可以注意到。WPF将使用反射来发现ViewModel类的属性。
但是,您可能不希望WPF使用反射来发现对象的属性,这是可以想象的。可以想象,您的ViewModel甚至可能不实现C#属性,而是使用其他机制公开命名值。例如,您可以构建一个包含用命名值填充的IDictionary<string,object>的通用ViewModel。如果ICustomTypeDescriptor不存在,您将无法执行此操作。ICustomTypeDescriptor告诉WPF不要使用反射来发现ViewModel的属性,而是通过调用ICustomTypeDescriptor接口的方法来发现它们。
更多信息可以在这里找到:https://docs.microsoft.com/en-us/archive/msdn-magazine/2005/april/net-matters-icustomtypedescriptor-part-1
https://stackoverflow.com/questions/7640959
复制相似问题