Ну вот, опять дети, еще один турист, потерявшийся в лесу вокруг WPF Databinding. Это был плодотворный день лазания по перевернутой ледяной стене, связывающей данные, но я уже не в своем уме. Никакие примеры, которые я нахожу, или количество SNOOP'инга не помогают мне найти мою проблему. Надеюсь, какая-нибудь рок-звезда, занимающаяся связыванием данных, вы все трое, сможете хоть как-то помочь! :)
XML-файл — лица и имена изменены, чтобы защитить невиновных.
<?xml version="1.0" encoding="utf-8" ?>
<Mappings>
<Mapping>
<Class1>WonderBread</Class1>
<Class2>Tortilla</Class2>
<Properties>
<Property>
<Jx>name</Jx>
<Dyn>Name</Dyn>
<Create>1</Create>
<Update>0</Update>
</Property>
<Property>
<Jx>Juice</Jx>
<Dyn>Juice</Dyn>
<Create>1</Create>
<Update>0</Update>
</Property>
<Property>
<Jx>Fred</Jx>
<Dyn>Fred</Dyn>
<Create>1</Create>
<Update>0</Update>
</Property>
<Property>
<Jx>Love</Jx>
<Dyn>Love</Dyn>
<Create>1</Create>
<Update>0</Update>
</Property>
</Properties>
</Mapping>
</Mappings>
Как я загружаю этот XML-файл и устанавливаю его в свои DataGrid DataContext. Делается в конструкторе. Это загружается правильно, через SNOOP я вижу файл XML в DataContext.
// load the ObjectMappingXML file and set as Gridview Context
XEClassMappings = XElement.Load(ConfigurationManager.AppSettings["ClassMappingXML"]);
dgMapping.DataContext = XEClassMappings;
Код XAML для отображения содержимого
<DataGrid x:Name="dgMapping" ItemsSource="{Binding Path=Elements[Property]}" Height="569">
<DataGrid.Columns >
<DataGridTextColumn Header="JxAPI Prop" Binding="{Binding Path=Element[Jx].Value}"/>
<DataGridTextColumn Header="Dyn Prop" Binding="{Binding Path=Element[Dyn].Value}"/>
</DataGrid.Columns>
</DataGrid>
Что, во имя всего святого, мне не хватает? 8 часов обнадеживающих F5 поставили меня в тупик...