Dinamicamente enumerando i valori per una proprietà in .Net
-
21-08-2019 - |
Domanda
si sa come gli elenchi delle proprietà ImageList di un controllo TreeView tutte imagelists su un modulo? Ho bisogno di qualcosa di simile, ma con una lista di stringhe. E 'come un'enumerazione, ma definito in fase di esecuzione, con l'oggetto che espone la proprietà in un PropertyGrid.
Così, con una lista di stringhe come { "pippo", "bar", "grill"} la proprietà dovrebbe elencare quelli ma se quella lista di stringhe viene modificata (ad esempio, aggiungere un elemento "bbq"), la proprietà dovrebbe enum { "pippo", "bar", "grill", "bbq" } invece.
Soluzione
Se è solo una lista di stringhe è necessario, dare un'occhiata a scrivere il proprio TypeConverter
. Avrai bisogno di eseguire l'override del metodo GetStandardValues
.
Altri suggerimenti
href="http://www.codeproject.com/KB/cpp/dropdownproperties.aspx" rel="nofollow su CodeProject spiega come scrivere un costume TypeConverter
o UITypeEditor
.