2017-04-05 98 views
0

我想將數據源設置爲查詢下方的ComboBox。ItemsSource與Linq(WPF)的組合框

cbLJoin.ItemsSource = (from ud in dataContext.UserDatas 
        join a in dataContext2.Autos 
        on ud.Id equals a.Id 
        select new 
        { 
         ud.Id, 
         ud.LastName, 
         a.AutoName, 
         a.Color 
        }).ToList(); 

但我得到了錯誤。

enter image description here

修訂,結果到組合框:

enter image description here

+0

嘗試將linq結果存儲到某個變量中,然後將其分配給itemsource。 – Parag

+2

您無法將'dataContext'與'dataContext2'聯繫起來,這正是錯誤告訴您的。 –

+0

那麼我怎樣才能加入2個datacontext?這是另一種方式來做到這一點? – 4est

回答

1

當然,你可以不參加2的datacontext在一個查詢。 你可以做2個查詢並加入他們的結果。 不能測試,但我認爲它應該工作。

var users = (from ud in dataContext.UserDatas 
       select new 
       { 
        ud.Id, 
        ud.LastName 
       }).ToList(); 

var autos = (from a in dataContext2.Autos 
       select new 
       { 
        a.Id, 
        a.AutoName, 
        a.Color 
       }).ToList(); 

var result = ( from ud in users 
        join a in autos on ud.Id equals a.Id 
        select new 
        { 
         ud.Id, 
         ud.LastName, 
         a.AutoName, 
         a.Color 
        }).ToList(); 
+0

非常感謝你TriV – 4est

+0

多一個:爲什麼綁定到組合框後的結果會導致在屏幕截圖上(更新後) – 4est

+0

那麼你的數據源的問題是什麼? – TriV