2009-07-21 16 views
4

Ich arbeite an der Erweiterung der Fehlerprovider auf die PropertyGrid und Treeview-Steuerelemente. Ich fand einen sehr hilfreichen Beitrag unter: Example Detaillierung, wie der Fehlerprovider zu einem Propertygrid hinzugefügt wird, und es funktioniert sehr gut. Meine Frage ist, wie der Autor wusste, dass IPropertyValueUIService die Schnittstelle ist, die das PropertyGrid verwendet, um das Symbol und den Tooltip anzuzeigen. Ich habe Reflector verwendet, um das propertygrid und IPropertyValueUIService zu demontieren, und ich sehe keine Beziehung.C# Winforms PropertyGrid und ErrorProvider

Dies ist für meine eigene Erbauung als Programmierer sowie versuchen, den Fehlerprovider zu einer Treeview zu erweitern.

Vielen Dank im Voraus, dhysong

Antwort

3

Ich vermute, zum Teil aus den documentation?

Oder vom Reflektor; Suchen Sie IPropertyValueUIService, drücken Sie Ctrl + r und erweitern Sie "Used By", und Sie können sehen, wie es von PropertyGridInternal.PropertyDescriptorGridEntry verwendet wird.

+0

Sind Sie derselbe Marc Gravell, der diese Erklärung gepostet hat? Ich sehe, dass MSDN Documenton auf IPropertyValueUIService ist ziemlich klar, aber ich sehe nicht, wie ich zu IPropertyValueUIService von der Propertygrid-Dokumentation zu bekommen. – dhysong

+1

PropertyGrid ist in erster Linie ein Verbrauch von System.ComponentModel und PropertyDescriptor; Die verknüpfte Dokumentation diskutiert das. Tatsache ist, dass System.ComponentModel sehr groß ist, und obwohl es (allgemein) gut dokumentiert ist, gibt es einige Lücken - es ist möglich **, dass diese Verbindung in einer Lücke ist. Oder vielleicht ist es da und wir haben es einfach nicht gesehen. –

+0

Ich lag falsch. Ich kann nicht von PropertyGrid in Reflector zu IPropertyValueUIService gelangen. Ich sehe, dass "used by" PropertyGrid + PropertyGridServiceProvider hat, so dass ich folgern kann, dass PropertyGridServiceProvider IPropertyValueUIService implementiert. Vielen Dank Marc für den ersten Code und diese Erklärung. – dhysong