Entwickler-Ecke
Basistechnologien - ComboBoxItem
Kenpachi - Mi 19.01.11 09:56
Titel: ComboBoxItem
Moin moin.
Ich habe mal wieder ein kleines Problem.
Ich wollte zusätzliche Informationen an einen Eintrag in meiner
ComboBox hängen, also habe ich Freund GOOGLE befragt.
Als beste Antwort empfand ich diese:
LINK [
http://msdn.microsoft.com/de-de/library/system.windows.controls.comboboxitem%28v=vs.95%29.aspx]
So, voller Freude über die somple Lösung öffne ich natürlich mein Projekt und fange an zu tippen. Leider kam direkt die Ernüchterung. Der Namespace
System.Windows.Controls existiert gar nicht. oO
Naja, ganz dumm bin ich ja auch nicht, also besuche ich erneut MSDN und betrachte die Member des von mir nicht aufzufindenden Namespace:
LINK [
http://msdn.microsoft.com/de-de/library/system.windows.controls.aspx]
Jetzt lese ich dort, dass beispielsweise auch
TabControl,
ToolTip und
TreeView in diesem Namespace liegen sollen und fange an, mich sehr zu wundern, denn diese Controls kann ich ohne weiteres benutzen.
So, nun die eigentliche frage.
Bin ich zu blöd,
ComboBoxItem zu finden, oder haut die Dokumentation von MSDN nicht ganz hin?
MfG Kenpachi
bakachan - Mi 19.01.11 10:32
eine kurze Google-Suche hat ergeben:
Um System.Windows.Controls zu nutzen musst du eine Referenz zum PresentationFramework hinzufügen (wie alle anderen Referenzen auch)
Kenpachi - Mi 19.01.11 11:48
Vielen Dank für die schnelle und hilfreiche Antwort. :)
Aber mal ganz im Ernst. Ein wenig doof ist das schon gestaltet. Normalerweise sollte man doch erwarten, dass wenn man eines der Elemente dieses Namespace benutzen darf, auch alle Anderen zur Verfügung stehen.
Naja, noch mal vielen Dank.
MfG Kenpachi
bakachan - Mi 19.01.11 12:07
Du hast ja vorher nicht die Elemente aus System.Windows.Controls verwendet sondern die aus System.Windows.Forms.
Kenpachi - Mi 19.01.11 12:46
Hmm, das muss man natürlich auch erst mal wissen, dass es ein und das selbe Steuerelement in verschiedenen Namespaces gibt.
Dann ist das natürlich absolut einleuchtend.
Nun habe ich aber ein neues Problem mit meinem
ComboBoxItem.
Laut MSDN besitzt
ComboBoxItem eine Methode namens
AddText [
http://msdn.microsoft.com/de-de/library/system.windows.controls.contentcontrol.addtext.aspx], nur kann ich sie nicht benutzen.
->
Ich bin noch nicht all zu fit, was die Schlüsselwörter angeht. Verstanden habe ich, dass Member, die als
protected gekennzeichnet sind, nur innerhalb ihrer Klasse, bzw. in davon abgeleiteten Klassen verwendbar sind.
Für mein Verständnis mache ich doch genau das, indem ich
AddText auf eine Instanz seiner Klasse anwenden möchte, oder nicht?
MfG Kenpachi
bakachan - Mi 19.01.11 12:51
Bei protected zählt nicht auf was es angewendet wird sondern von wo und von außen gehts nunmal nicht. Du könntest dir ja eine eigene Klasse davon ableiten und es da verwenden.
Kenpachi - Mi 19.01.11 12:58
Das erscheint mir alles viel zu umständlich, um eine simple ID mit an mein ComboBoxItem zu hängen.
Mal schauen, entweder mach ich es mit 'ner DataSource, oder ich speicher mir die IDs separat in eine List. Das ist zwar beides nicht so schön sauber, wie 'nen Tag, aber dafür - für mich - wesentlich schneller und einfacher umzusetzen.
Nochmals vielen Dank für die hilfreichen Antworten. :)
MfG Kenpachi
Kenpachi - Mi 19.01.11 17:07
Wäre es in der Dokumentation ersichtlich gewesen, dass es sich um ein WPF-Element handelt, hätte ich das auch gar nicht erst probiert. ;)
Aber an dieser Stelle kann ich ja direkt mal fragen, woher du das so genau weisst. Ich wüsste nämlich nicht, wie ich das rausbekommen sollte.
Ich habe es jetzt mit 'ner simplen DataSource und Display-/ValueMember gelöst. Das ist auch halbwegs elegant und reicht für meine Zwecke alle Male aus.
BTW: Musst' denn ausgerechnet die Stelle zitieren, an der 'nen Rechtschreibfehler ist? :lol:
MfG Kenpachi
Kha - Do 20.01.11 15:30
Kenpachi hat folgendes geschrieben : |
| Aber an dieser Stelle kann ich ja direkt mal fragen, woher du das so genau weisst. Ich wüsste nämlich nicht, wie ich das rausbekommen sollte. |
System.Windows (zumindest alles außer .Forms) ist WPF, PresentationFramework ist WPF. Das kann man natürlich nur wissen, wenn man schon einmal mit WPF gearbeitet hat ;) , aber grundsätzlich sind bei der Winforms-Entwicklung alle Controls außerhalb von System.Windows.Forms für dich uninteressant.
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2026 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!