Ich verwende ein PropertyGrid, um Eigenschaften von meinen Objekten anzuzeigen. Ich erlaube dem Benutzer jedoch auch, eigene Eigenschaften zu erstellen und Werte für diese benutzerdefinierten Eigenschaften festzulegen. Jedes Objekt, das diese benutzerdefinierten Eigenschaften haben kann, verfügt über eine Dictionary-Auflistung, wobei die Zeichenfolge ein eindeutiger Schlüssel zur Identifizierung der Eigenschaft ist. Object ist der Wert eines primitiven Typs (Zeichenfolge, Bool, Int usw.).Zurücksetzen von Eigenschaften aus einem Eigenschaftenraster
I ' Ich habe einen benutzerdefinierten PropertyDescriptor mit Methoden get und set erstellt, die das Dictionary nach einem übereinstimmenden Schlüssel überprüfen oder den Wert mit einem übereinstimmenden Schlüssel erstellen bzw. überschreiben.
Ich möchte aber auch dem Benutzer die Möglichkeit geben, die Eigenschaft zu löschen und damit seinen Eintrag vollständig aus dem Wörterbuch zu entfernen. Ich würde den Code dazu in die ResetValue-Methode override von meinem benutzerdefinierten PropertyDescriptor einfügen, aber ich sehe keine Möglichkeit durch die PropertyGrid-Schnittstelle, dies zu erreichen? Es scheint keine Kontext-Menü-Option oder etwas so Offensichtliches zu sein.
Also, wenn ich einen benutzerdefinierten PropertyDescriptor mit einer benutzerdefinierten ResetValue-Methode habe, wie erwecke ich diese Methode tatsächlich von einem PropertyGrid?
Ahh ja ich diesen Beitrag gerade gefunden als auch auf MSDN. Scheint so, als ob das die beste Option wäre. http://social.msdn.microsoft.com/Forums/en-US/winforms/thread/9dd7b9bf-4134-4105-aba8-65002fed04f2 –
Ja, der Aufruf von propGri.SelectedGridItem.Select() scheint wie es würde bereinigen einige Update-Probleme. –