假设我有一个简单的 XML 块:-
<root>
<item forename="Fred" surname="Flintstone" />
<item forename="Barney" surname="Rubble" />
</root>
在 Silverlight 中获取此 XML 后,我想将其与此类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,其他源代码与项元素上的属性集无关。
编辑:建议使用 XSD,但最终它的数量相同。XSD->生成的类。
编辑:匿名类不起作用,Silverlight 无法绑定它们。
编辑:这需要有两种方式,用户需要能够编辑值并且这些值最终出现在 XML 中。(在上面的示例中将原始 TextBlock 更改为 TextBox。)