Ich habe derzeit eine benutzerdefinierte ListViewItem
Klasse - nennen wir es MyListViewItem
. Es müssen einige zusätzliche Daten mit jedem Element verknüpft sein und einige Vorgänge ausgeführt werden, wenn die Checked-Eigenschaft geändert wird. Ich habe einige Dinge ausprobiert, aber zur Zeit der entsprechende Code sieht wie folgt aus:C# Vererbung und überschreiben Basiseigenschaften
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) {
// ...
}
}
Das Problem, das ich habe, ist, dass, wenn ich auf das Kontrollkästchen der Artikel klicken Sie in der Listview, meine Setter nie aufgerufen. Weiß jemand was ich falsch mache? Ich bin mir bewusst, dass ich das ItemChecked-Ereignis des übergeordneten ListView verwenden könnte, aber das scheint wie eine viel weniger saubere Lösung. (Ich gebe auch kein Objekt an den Konstruktor, aber dieser Teil ist hier nicht wichtig).
Nun, wenn jemand interessiert ist, endete ich die Interaktion zwischen meinen Daten und der Checked-Eigenschaft im Getter/Setter für die benutzerdefinierten Daten. Nicht sicher, warum ich vorher nicht daran gedacht hatte. – jnylen