Autor Beitrag
daeve
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 116
Erhaltene Danke: 3

Windows (XP Pro, 7 Ultimate x64)
C#,WPF,Java,ASP.Net, VS 2010 Ultimate (x86)
BeitragVerfasst: Mo 16.01.12 15:32 
Hallo zusammen

ausblenden C#-Quelltext
1:
2:
comboBoxAntrieb.DataContext = zubehoerViewModel.antriebList;
comboBoxAntrieb.SelectedItem = zubehoerViewModel.antriebList.Select(x => x.ZubehoerID.CompareTo(selectedCar.Zubehoer.Select(y => y.ZubehoerID)));


mein Problem ist das dieser Code nicht funktioniert...
ich habe zwei Listen "antriebList" und "Zubehoer"
Die antriebList ist der Datacontext des CB, das binding ist im xaml dort wird auch der Displaymember definiert. (soweit alles gut)

nun möchte ich gerne das bei der CB das selectierteItem aus der liste Zubehoer ausgewählt wird.

hoffe ihr versteht das ;)
Ralf Jansen
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 4708
Erhaltene Danke: 991


VS2010 Pro, VS2012 Pro, VS2013 Pro, VS2015 Pro, Delphi 7 Pro
BeitragVerfasst: Mo 16.01.12 15:55 
Select liefert dir eine Liste von Items aber SelectedItem ist natürlich genau 1 Wert. Du solltest also eher mit First bzw. FirstOrDefault anstatt mit Select arbeiten. Was du mit dem Ausdruck in dem Select selbst vorhast ist mir völlig schleierhaft. Wie willst du damit (wenn er den funktionieren würde) genau einen Wert auswählen?

Besteht AntriebList aus Zubehoer(en) oder ist AntriebList (bzw. ein Antrieb darin) selbst ein Zubehoer oder wie ist da der Zusammenhang?

Für diesen Beitrag haben gedankt: daeve
daeve Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 116
Erhaltene Danke: 3

Windows (XP Pro, 7 Ultimate x64)
C#,WPF,Java,ASP.Net, VS 2010 Ultimate (x86)
BeitragVerfasst: Mo 16.01.12 17:56 
user profile iconRalf Jansen hat folgendes geschrieben Zum zitierten Posting springen:
Select liefert dir eine Liste von Items aber SelectedItem ist natürlich genau 1 Wert. Du solltest also eher mit First bzw. FirstOrDefault anstatt mit Select arbeiten. Was du mit dem Ausdruck in dem Select selbst vorhast ist mir völlig schleierhaft. Wie willst du damit (wenn er den funktionieren würde) genau einen Wert auswählen?

Besteht AntriebList aus Zubehoer(en) oder ist AntriebList (bzw. ein Antrieb darin) selbst ein Zubehoer oder wie ist da der Zusammenhang?


die antriebList ist eine eigene liste mit objekten von typ Zubehoer drin.

Mit diesem Code ev. etwas verständlicher:

ausblenden C#-Quelltext
1:
comboBoxAntrieb.SelectedItem = zubehoerViewModel.antriebList.First(x => x.ZubehoerID == ((from z in selectedCar.Zubehoer where z.ZubehoerTypID == 3 select z.ZubehoerID).FirstOrDefault()));					
daeve Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 116
Erhaltene Danke: 3

Windows (XP Pro, 7 Ultimate x64)
C#,WPF,Java,ASP.Net, VS 2010 Ultimate (x86)
BeitragVerfasst: Mo 16.01.12 18:41 
ausblenden C#-Quelltext
1:
comboBoxAntrieb.SelectedItem = zubehoerViewModel.antriebList.First(x => x.ZubehoerID == ((from z in selectedCar.Zubehoer where z.ZubehoerTyp.ZubehoerTyp1 == "Antrieb" select z.ZubehoerID).FirstOrDefault()));					


so funktioniert es, danke für den tip mit First ;)