В настоящее время у меня есть потребность в обычном классе ListViewItem
- назовем его MyListViewItem
. Он должен иметь некоторые дополнительные данные, связанные с каждым элементом, и выполнять некоторые операции при изменении свойства Checked. Я попробовал несколько вещей, но в настоящее время соответствующий код выглядит следующим образом:Наследование C# и переопределение базовых свойств
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) {
// ...
}
}
Проблема у меня в том, что, когда я нажимаю на флажок в элемента в ListView, мой сеттер никогда не вызывается. Кто-нибудь знает, что я делаю неправильно? Я знаю, что я мог бы использовать событие ItemChecked родительского ListView, но это похоже на гораздо менее чистое решение. (Также я не передаю объект объекту конструктору, но эта часть здесь не важна).
Ну, если кому-то интересно, я закончил обработку взаимодействия между моими данными и проверенным свойством в getter/setter для пользовательских данных. Не знаю, почему я об этом не думал раньше. – jnylen