1
Ich habe eine ComboBox:WPF Ausnahme, während der Bindung Combobox Linq2Sql
<ComboBox Name="cmbSuppliers" ItemsSource="{Binding}" Grid.Column="1" Grid.Row="0" Height="30"></ComboBox>
Beim Versuch, es in diesem Verfahren zu binden:
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);
}
}
I Ausnahme erhalten (in der letzten Zeile) sagen: ' Die angegebene Umwandlung ist ungültig.'
Bitte helfen Sie mir, dies zu lösen!
'Itemssource = "{Binding}"' in XAML überflüssig scheint, wenn Sie später die Itemssource-Eigenschaft in Code hinter gesetzt. Außerdem scheint 'db.Suppliers.Select (s => s)' keinen Sinn zu ergeben. Möchtest du wahrscheinlich nur 'cmbSuppliers.ItemsSource = suppliers.OrderBy (s => s.Name);'? – Clemens
Angenommen, db Objekt ist EntityFramework datacontext Objekt. Der Datenbankkontext von EntityFrameWork gibt IQueryable zurück. Also, Sie konvertieren es in Liste wie folgt cmbSuppliers.ItemsSource = db.Suppliers.OrderBy (s => s.Name) .ToList(); –