c#-在没有标称类的情况下绑定Silverlight中的XML
作者:互联网
假设我有一个简单的XML块:
<root>
<item forename="Fred" surname="Flintstone" />
<item forename="Barney" surname="Rubble" />
</root>
在Silverlight中获取此XML之后,我想将其与ilke的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绑定到XML和一个名义上的类,就足够简单了:
public class Person {
public string Forename {get; set;}
public string Surname {get; set;}
}
没有这个课程可以做吗?
换句话说,Silverlight代码和输入XML之间的耦合仅限于XAML,其他源代码与item元素上的属性集无关.
编辑:建议使用XSD,但最终它等同于同一件事. XSD-> Generated类.
编辑:匿名类不起作用,Silverlight无法绑定它们.
编辑:这需要两种方式,用户需要能够编辑值,并且这些值最终存储在XML中. (在上面的示例中,将原始TextBlock更改为TextBox.)
解决方法:
有关信息,请参见Binding to Anonymous types in Silverlight.
标签:xml-binding,linq-to-xml,xml,c,silverlight 来源: https://codeday.me/bug/20191024/1921826.html