Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/332.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 是否可以将数据绑定到内存中的对象,并允许将数据绑定到XML_C#_Wpf_Xml_Binding - Fatal编程技术网

C# 是否可以将数据绑定到内存中的对象,并允许将数据绑定到XML

C# 是否可以将数据绑定到内存中的对象,并允许将数据绑定到XML,c#,wpf,xml,binding,C#,Wpf,Xml,Binding,我创建了一个名为Project的对象,它具有不同的属性字符串和一些自定义对象,我将文本字段绑定到这些属性以获取用户输入。我创建了一个方法,将这个对象输出到一个XML文件。但是,当我将此XML文件导入内存时,文本字段不会填充从ObservableCollection继承的某些自定义对象的文本或列表视图,这些对象没有任何文本。XML确实可以正确加载,因为如果我在空字段中输入文本,它会更新属性,并且我可以使用新值导出XML文件 要加载xml,我使用以下代码 public void LoadXML()

我创建了一个名为Project的对象,它具有不同的属性字符串和一些自定义对象,我将文本字段绑定到这些属性以获取用户输入。我创建了一个方法,将这个对象输出到一个XML文件。但是,当我将此XML文件导入内存时,文本字段不会填充从ObservableCollection继承的某些自定义对象的文本或列表视图,这些对象没有任何文本。XML确实可以正确加载,因为如果我在空字段中输入文本,它会更新属性,并且我可以使用新值导出XML文件

要加载xml,我使用以下代码

public void LoadXML()
    {
        OpenFileDialog fileDialog = new OpenFileDialog();
        fileDialog.Title = "Load XML File";
        fileDialog.Filter = "XML Files|*.xml";
        DialogResult result = fileDialog.ShowDialog();

        if (result.ToString().Equals("OK"))
        {
            string filePath = fileDialog.FileName.ToString();
            XmlSerializer serializer = new XmlSerializer(typeof(Project));
            TextReader textReader = new StreamReader(filePath);
            newProject = (Project)serializer.Deserialize(textReader);
            textReader.Close();
        }

    }
欢迎您提出任何建议,谢谢。

我想您应该使用WPF

您需要实现INotfiyPropertyChanged接口,并为绑定到控件的类的每个属性抛出其事件

然后,当您从XML反序列化项目时,WPF会相应地更新GUI。如果没有,请检查控件的DataContext是否设置为反序列化的项目实例。

我假设您使用WPF

您需要实现INotfiyPropertyChanged接口,并为绑定到控件的类的每个属性抛出其事件


然后,当您从XML反序列化项目时,WPF会相应地更新GUI。如果没有,请检查控件的DataContext是否设置为反序列化的项目实例。

项目类是否实现INotifyPropertyChanged接口,是否为每个更改的属性调用抛出PropertyChanged事件?您正在使用WPF吗?项目类是否实现INotifyPropertyChanged接口,是否为每个更改的属性调用抛出PropertyChanged事件?是否使用WPF?如果实现了INotifyPropertyChanged,则未设置控件的DataContext。没有意识到它必须在反序列化后设置。感谢您的帮助。如果实现了InotifyPropertyChange,则未设置控件的DataContext。没有意识到它必须在反序列化后设置。谢谢你的帮助。