Я пытаюсь портировать проект WinForms на WPF.Но у меня есть некоторые проблемы с привязкой данных.
В моей программе WinForms есть DataGrid, в которой используется столбец в форме комбинированного списка привязки данных
His **Data** properties:
DataPropertyName **Developer**
DataSource **developerBindingSource1**
DataMember **DeveloperName**
ValueMember **Developer**
и следующий код
developerBindingSource1.DataSource = DT.Developer;
taskBindingSource.DataSource = DT.Task;
typeTaskBindingSource.DataSource = DT.TypeTask;
developBindObjBindingSource.DataSource = DevelopBindObj.GetBindingList(DT.Developer);
typeTaskBindObjBindingSource.DataSource = TypeTaskBindObj.GetBindingList(DT.TypeTask);
Я использую дополнительный класс для привязки данных
class DevelopBindObj
{
public Developer Developer { get; private set; }
public string DeveloperName
{
get
{
return this.Developer.FIO;
}
}
private DevelopBindObj(Developer Developer)
{
this.Developer = Developer;
}
public static IBindingList GetBindingList(IEnumerable<Developer>Developers) {BindingList<DevelopBindObj> result = new BindingList<DevelopBindObj>();
foreach (var ee in Developers)
{
result.Add(new DevelopBindObj(ee));
}
return result;
}
И как я могу это сделать в WPF?
Я пробовал:
<DataGridComboBoxColumn x:Name="iDTypeTaskColumn"
Header="IDType Task"
Width="SizeToHeader"
SelectedValuePath="{Binding Source={StaticResource bindObjectsTaskViewSource}, Path=TypeTask}"
DisplayMemberPath="{Binding Source={StaticResource bindObjectsTaskViewSource}, Path=TypeTaskName}"
ItemsSource="{Binding Source={StaticResource bindObjectsTaskViewSource}}" SelectedItemBinding="{Binding Path=tblDevTypeTask}">
Но этоне работает.