У меня есть TreeView
, и каждый TreeViewNode
имеет объект в своем Tag
. Когда выбран узел в дереве, я хочу, чтобы DataGrid
было заполнено именем и значением всех полей объекта, полученных с помощью отражения. Я не могу понять, как это сделать, используя привязку данных wpf. Существует очень мало примеров того, как именно вы связываете DataGrid
с помощью простых методов, и я также использую функцию преобразования.Как привязать эти данные к DataGrid?
То, что я получил до сих пор является метод, чтобы получить данные, которые я хочу от одного объекта:
internal static IEnumerable<Tuple<string, object>> GetFieldInfo(object o)
{
return
from FieldInfo info in o.GetType().GetFields()
select Tuple.Create(info.Name, info.GetValue(o));
}
и TreeView и DataGrid в XAML:
<TreeView Name="objectList" />
<DataGrid Name="objectData" />
Я могу» t определить правильные заклинания DataBinding, чтобы получить свойство ((TreeViewNode)objectList.SelectedItem).Tag
через метод GetFieldInfo
и в собственность objectData.ItemsSource
.
Вы не должны использовать отражение для мастера/подробности подойти – 2010-12-15 15:01:04