Autor Beitrag
Kenpachi
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 30

Win Vista, Win 7
C#, VB, ASP.NET (VS 2010 Express)
BeitragVerfasst: Mi 19.01.11 09:56 
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

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
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
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 503
Erhaltene Danke: 34

W7 (x64) Ultimate
C# / VB.NET (VS2010 Ultimate)
BeitragVerfasst: 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)

Für diesen Beitrag haben gedankt: Kenpachi
Kenpachi Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 30

Win Vista, Win 7
C#, VB, ASP.NET (VS 2010 Express)
BeitragVerfasst: 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
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 503
Erhaltene Danke: 34

W7 (x64) Ultimate
C# / VB.NET (VS2010 Ultimate)
BeitragVerfasst: Mi 19.01.11 12:07 
Du hast ja vorher nicht die Elemente aus System.Windows.Controls verwendet sondern die aus System.Windows.Forms.

Für diesen Beitrag haben gedankt: Kenpachi
Kenpachi Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 30

Win Vista, Win 7
C#, VB, ASP.NET (VS 2010 Express)
BeitragVerfasst: 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, nur kann ich sie nicht benutzen.

->
user defined image

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
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 503
Erhaltene Danke: 34

W7 (x64) Ultimate
C# / VB.NET (VS2010 Ultimate)
BeitragVerfasst: 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.

Für diesen Beitrag haben gedankt: Kenpachi
Kenpachi Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 30

Win Vista, Win 7
C#, VB, ASP.NET (VS 2010 Express)
BeitragVerfasst: 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
Kha
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 3803
Erhaltene Danke: 176

Arch Linux
Python, C, C++ (vim)
BeitragVerfasst: Mi 19.01.11 14:41 
user profile iconKenpachi hat folgendes geschrieben Zum zitierten Posting springen:
So, voller Freude über die somple Lösung
Um es kurz zu sagen: Eine WPF-Lösung bringt dir für ein Winforms-Projekt über - haupt - nichts ;) .
Aber die Methodik kannst du übernehmen: Du steckst ein komplexes Objekt in die ComboBox und lässt es dann einfach durch entsprechendes Überschreiben von ToString oder Nutzung von DisplayMember anzeigen.

_________________
>λ=
Kenpachi Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 30

Win Vista, Win 7
C#, VB, ASP.NET (VS 2010 Express)
BeitragVerfasst: 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
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 3803
Erhaltene Danke: 176

Arch Linux
Python, C, C++ (vim)
BeitragVerfasst: Do 20.01.11 15:30 
user profile iconKenpachi hat folgendes geschrieben Zum zitierten Posting springen:
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.

_________________
>λ=