nachdem ich nun ca. 30 min bei Google und hier im Forum gesucht aber nichts passendes gefunden habe, werde ich nun doch posten und hoffe nicht wieder mit einer "bitte Suche verwenden" Antwort abgeblockt zu werden.
Mein Problem ist schnell beschrieben: Ich benutze das PropertyGrid in einer WindowsForms-Anwendung um wahlweise eines oder mehrere Objekte zu editieren. Wähle ich nun ein Objekt an, so sollen alle mit Browsable(true) markierten Properties geändert werden dürfen.
Selektiere ich hingegen mehrere Elemente (des gleichen Typs), so binde ich sie als Array an das PropertyGrid und kann sie auch wunderbar bearbeiten. Ich möchte nun aber gern Einschränkungen machen, was die Editierung bei MultipleSelect angeht. So darf beispielsweise das Property "Name" meiner Objekte nicht gleich sein, über das PropertyGrid kann ich dies nach dem Binden mehrerer Objekte jedoch ändern.
Frage: Wie kann ich eine Einschränkung vornehmen, bei der ich Properties freigebe wenn nur 1 Objekt an das PropertyGrid gebunden ist, zur Editierung aber sperre wenn mehrere Objekte gebunden sind?
Beispiel:
public class MyElement
{
// Dieses Property soll nur editierbar sein, wenn 1 einziges
// Objekt an das PropertyGrid gebunden ist
[Browsable(true)]
public string Name { get; set; }
[Browsable(true)]
public int AnyValue { get; set; }
}