Ich habe eine Eigenschaft Gitter eine Liste, zum Beispiel einer Klasse Person
Wie steuern Sie, was in einem Eigenschaftenraster zur Laufzeit sichtbar ist?
[TypeConverter(typeof(ExpandableObjectConverter))]
public class Person
{
public bool ShowHidden { get; set; }
public string Name { get; set; }
//[Browsable(false)]
public string Hidden { get; set; }
public override string ToString()
{
return string.Format("Person({0})", Name);
}
}
Die Frage anzeigt wird, wie steuere ich das Browsable()
Attribut zur Laufzeit, so dass, wenn ShowHidden = false
die Hidden
Linie (gelb hervorgehoben unten) entfällt .
Dank. Hier
Danke für den Hinweis. Ich habe es noch nicht geschafft zu arbeiten. Ich kann nicht herausfinden, welches die beste Platzierung für dieses Snippet ist. Ich habe es in einem Property Setter, aber ich sehe keinen Einfluss auf mein Raster. – ja72
Ich erwartete, dass nur die Zeile für die Instanz mit ShowHidden = false entfernt wurde, aber die Zeile wurde von allen Instanzen entfernt. Ich werde die Antwort akzeptieren, da es irgendwie das getan hat, was ich brauche. – ja72
Der Code ändert das BrowsableAttribute, aber ich sehe die Änderung im Grid nicht ... Wie kann ich die Laufzeit ändern? – FrancescoDS