Das mit den Dicionaries klingt ganz gut, ist mir aber im Moment zu viel "Magic"
Das braucht noch ein wenig Zeit.
Das Problem tritt bei mir zweimal auf - TreeView und ComboBox.
Für zweiteres gibt's eine Lösung:
Code:
Class A: object {
objectReference;
A(objectRef) {
this.objectReference = objectRef;
}
override ToString() {
return objectReference.getName();
}
objectReference getObjectRef() {
return this.objectReference;
}
}
[...]
myComboBox.Items.Add(new A(myObject));
Durch das Überschreiben von ToString() wird der gewünschte Text angezeigt.
Code:
(myComboBox.SelectedItem as A).getObjectRef.do();
Mit einem TreeView funktioniert das ganze nicht!
Ich finde keine Möglichkeit, einem TV ein Objekt hinzuzufügen.
Code:
myTV.Items.Add(new A(myObject)); // mag er nicht!
Also probieren wir's mit ableiten - von TreeViewItem:
Code:
class B: TreeViewItem {
objectReference;
B(objectRef) {
this.objectReference = objectRef;
}
override ToString() {
return objectReference.getName();
}
objectReference getObjectRef() {
return this.objectReference;
}
}
Problem:
Das TreeView bleibt leer.
ToString() wird anscheinend nicht aufgerufen (wie es bei der ComboBox der Fall ist).
Jetzt bin ich ratlos - kennt sich jemand mit TreeView(Item)s unter .NET (2.0) aus?