微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐