Attualmente ho bisogno di una classe personalizzata ListViewItem
- chiamiamola MyListViewItem
. È necessario disporre di alcuni dati aggiuntivi associati a ciascun elemento ed eseguire alcune operazioni quando viene modificata la proprietà controllata. Ho provato diverse cose, ma attualmente il relativo codice simile a questo:C# ereditarietà e priorità delle proprietà di base
class MyListViewItem : ListViewItem {
new public bool Checked {
get {
return base.Checked;
}
set {
base.Checked = value;
// do some other things here based on value
}
}
public MyListViewItem(Object otherData) {
// ...
}
}
Il problema che sto avendo è che quando scatto sopra la casella di controllo della voce nella ListView, il mio setter non viene mai chiamato. Qualcuno sa cosa sto sbagliando? Sono consapevole che potrei usare l'evento ItemChecked del ListView genitore, ma sembra una soluzione molto meno pulita. (Inoltre non sto passando un Object al costruttore, ma quella parte non è importante qui).
Bene, se qualcuno è interessato, ho finito per gestire l'interazione tra i miei dati e la proprietà controllata nel getter/setter per i dati personalizzati. Non sono sicuro del motivo per cui non ci avevo pensato prima. – jnylen