#silverlight #data-binding #datagrid #nested-class
#silverlight #привязка данных #datagrid #вложенный класс
Вопрос:
Я совершенно новичок в мире Silverlight, поэтому мне нужно знать простую вещь.
как мне привязать вложенный объект в качестве источника элемента к DataGrid.
У меня есть класс Employee, который выглядит как :
Public class Employee
{
public long EmployeeId
{
get
{
return this._employeeId;
}
set
{
this._employeeId = value;
}
}
public string EmployeeName
{
get
{
return this._employeeName;
}
set
{
this._employeeName = value;
}
}
public tblDepartment tblDepartment
{
get
{
return this._tblDepartment;
}
set
{
this._tblDepartment = value;
}
}
}
теперь класс «tblDepartment» имеет название отдела в качестве одного из свойств, поэтому я хочу добиться отображения EmployeeID, EmployeeName и названия отдела в сетке данных Silverlight. Я использую SilverLight 4.0.
Проблема в том, что я не могу найти, как привязать свойства вложенных объектов (т. Е. Объекты с помощью in Objects).
кто-нибудь может мне здесь помочь,
заранее спасибо.
Ответ №1:
Вы должны быть в состоянии сделать
{Binding Path=EmployeeObject.tblDepartment.Name}
Комментарии:
1. Было бы более естественным предположить, что это экземпляр объекта employee, к которому привязывается, следовательно, «EmployeeObject» выше не требуется. Если бы это было так, то Sumit также не знал бы, как связать два других свойства.
2. ДА. Я согласен. Если Sumit пытается установить значение столбцов в datagrid, он может просто выполнить {Путь привязки=tblDepartment. Имя}
3. спасибо 🙂 ошибка, которую я допустил, касалась остальных свойств (которые были непосредственно внутри employee) Я использовал синтаксис привязки следующим образом <sdk: заголовок DataGridTextColumn=»Идентификатор сотрудника» Привязка =»{Привязка EmployeeID}» /> так что на той же заметке, если попробовать для названия отдела, например <sdk: заголовок DataGridTextColumn = «Отдел сотрудников» Привязка =»{Привязка tblDepartment. Имя_департамента}» /> Я не получал данные, я не знаю, почему мне не понравился этот путь :), в любом случае, большое спасибо