1
をlinq2sqlするコンボボックスを結合私はコンボボックス持ちながら:WPF例外
<ComboBox Name="cmbSuppliers" ItemsSource="{Binding}" Grid.Column="1" Grid.Row="0" Height="30"></ComboBox>
この方法でそれをバインドしようとしている:私は(最後の行に)例外を取得
public void BindSuppliers()
{
using (ScanFlowDataClassesDataContext db = new ScanFlowDataClassesDataContext(GlobalConfig.connectionString))
{
var suppliers = from s in db.Suppliers
select new
{
Id = s.Id,
Name = s.Name,
};
cmbSuppliers.DisplayMemberPath = "Name";
cmbSuppliers.SelectedValuePath = "Id";
cmbSuppliers.ItemsSource = db.Suppliers.Select(s => s).OrderBy(s => s.Name);
}
}
を言って: "指定されたキャストは無効です。 '
私はこれを解決するのを手伝ってください!
'のItemsSource =後で背後にあるコードでItemsSourceプロパティを設定すると、XAML内の冗長ようだ' "{バインディング}"。それに加えて、 'db.Suppliers.Select(s => s)'は意味をなさないと思われます。おそらく 'cmbSuppliers.ItemsSource = suppliers.OrderBy(s => s.Name);と書いたかったのですか? – Clemens
dbオブジェクトがEntityFramework datacontextオブジェクトであると仮定します。 EntityFrameWorkからの常にdbコンテキストはIQueryableを返します。あなたはこのようにリストに変換する必要があります。cmbSuppliers.ItemsSource = db.Suppliers.OrderBy(s => s.Name).ToList(); –