Привязка 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 в примере выше.)

Ответы на вопрос(4)

Ваш ответ на вопрос