Windows phone 7 用额外属性装饰可序列化类
我正在构建一个WindowsPhone7应用程序,并试图用一个附加的属性来修饰生成的类,但我对如何从体系结构上解决这个问题有点困惑。我目前拥有的是这个类,它是使用xsd.exe工具从XML文件生成的:Windows phone 7 用额外属性装饰可序列化类,windows-phone-7,xml-serialization,Windows Phone 7,Xml Serialization,我正在构建一个WindowsPhone7应用程序,并试图用一个附加的属性来修饰生成的类,但我对如何从体系结构上解决这个问题有点困惑。我目前拥有的是这个类,它是使用xsd.exe工具从XML文件生成的: [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.0.30319.1")] [System.Diagnostics.DebuggerStepThroughAttribute] [System.Xml.Serialization.Xm
[System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.0.30319.1")]
[System.Diagnostics.DebuggerStepThroughAttribute]
[System.Xml.Serialization.XmlTypeAttribute(AnonymousType = true)]
public class Session
{
[System.Xml.Serialization.XmlElementAttribute(Form = System.Xml.Schema.XmlSchemaForm.Unqualified)]
public string Abstract { get; set; }
[System.Xml.Serialization.XmlElementAttribute(Form = System.Xml.Schema.XmlSchemaForm.Unqualified)]
public string Speaker { get; set; }
[System.Xml.Serialization.XmlAttributeAttribute]
public string TimeslotBegin { get; set; }
[System.Xml.Serialization.XmlAttributeAttribute]
public string Location { get; set; }
[System.Xml.Serialization.XmlAttributeAttribute]
public string TimeslotEnd { get; set; }
[System.Xml.Serialization.XmlAttributeAttribute]
public string Title { get; set; }
}
我正在从web获取XML并使用XmlSerializer
对其进行反序列化,但我想添加一个附加属性,以允许用户在UI中“标记”项目。我希望能够绑定到这个属性,因此它应该在更改时通知UI线程
关于如何解决这个问题有什么想法吗?对于这种情况,我建议您将模型与ViewModel分开 ViewModel是专为用户界面设计的数据表示(包括可绑定属性) 该模型是“纯”数据表示,专门为域建模和持久性而设计(可以直接到隔离存储,也可以通过web服务持久化) 因此,我建议您为UI构建一些要绑定的ViewModel类,然后确定这些ViewModel如何与模型交互
另一方面,我对在WindowsPhone7中使用XSD生成的类也持谨慎态度-WP7似乎更喜欢XDocument Linq XML类,而不是XmlDocument XML类(但我可能有错误!)对于这种情况,我建议您将模型与ViewModel分开 ViewModel是专为用户界面设计的数据表示(包括可绑定属性) 该模型是“纯”数据表示,专门为域建模和持久性而设计(可以直接到隔离存储,也可以通过web服务持久化) 因此,我建议您为UI构建一些要绑定的ViewModel类,然后确定这些ViewModel如何与模型交互
顺便说一句,我对在WindowsPhone7中使用XSD生成的类也持谨慎态度-WP7似乎更喜欢XDocumentLinqXML类,而不是XMLDocumentXML类(但我可能有这个错误!)谢谢你的回答,斯图尔特。在问stackoverflow问题之前,我已经尝试过这种方法,但我正在尝试弄清楚如何在不清除ViewModel数据的情况下更新模型数据。例如,如果我为名为
ViewSession
的Session
制作一个包装器,它包含一个Session
实例和附加属性,我将如何继续更新Session
实例?谢谢你的回答,斯图尔特。在问stackoverflow问题之前,我已经尝试过这种方法,但我正在尝试弄清楚如何在不清除ViewModel数据的情况下更新模型数据。例如,如果我为名为ViewSession
的Session
制作了一个包装器,它保存了一个Session
实例和附加属性,我将如何继续更新Session
实例?