Привязка XML в Silverlight без именных классов
Допустим, у меня есть простой кусок XML:
<root>
<item forename="Fred" surname="Flintstone" />
<item forename="Barney" surname="Rubble" />
</root>
Получив этот XML в Silverlight, я хотел бы связать его сXAML этого ильке: -
<ListBox x:Name="ItemList" Style="{StaticResource Items}">
<ListBox.ItemTemplate>
<DataTemplate>
<StackPanel Orientation="Horizontal">
<TextBox Text="{Binding Forename}" />
<TextBox Text="{Binding Surname}" />
</StackPanel>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
Теперь я могу достаточно просто связать с LINQ to XML и номинальным классом:
public class Person {
public string Forename {get; set;}
public string Surname {get; set;}
}
Можно ли это сделать без этого класса?
Другими словами, связь между кодом Silverlight и входным XML ограничена только XAML, другой исходный код не зависит от набора атрибутов элемента item.
редактировать: Предлагается использовать XSD, но в конечном итоге это то же самое. XSD-> Генерируемый класс.
редактировать: Анонимный класс не работает, Silverlight не может связать их.
редактироватьЭто должно быть двояко, пользователь должен иметь возможность редактировать значения, и эти значения попадают в XML. (Изменил оригинальный TextBlock на TextBox в примере выше.)