Допустим, у меня есть простой кусок 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 в примере выше.)