为什么WriteXml会创建一个新的xml文件

时间:2017-06-15 02:27:13

标签: xml wpf datagrid

我尝试使用ReadXmlWriteXmldatagrid中加载/保存xml文件,但WriteXml方法只创建一个新的空文件而不是保存更改对旧的。有关详细信息:[链接] [1]

----------------------------------更新------------ ----------------------------

    private void RefreshModule()
    {
        ModulesView = new ListCollectionView(sdb.GetModules())
        {
            Filter = obj =>
            {
                var Module = (Module)obj;
                return SelectedProduct != null && SelectedProduct.ModelNumber == Module.ModelNumber;
            }
        };
    }

    private Product selectedProduct;
    public Product SelectedProduct
    {

        get { return selectedProduct; }
        set
        {
            if (selectedProduct != value)
            {
                selectedProduct = value;
                NotifyPropertyChanged();
                RefreshModule();
             }
         }
     }

1 个答案:

答案 0 :(得分:1)

SaveDataSet类的StoreDbDataSet方法应该使用DataSet参数并将此序列序列化为该文件。

public void SaveDataSet(DatatSet ds)
{
    ds.WriteXmlSchema(DatabaseConstructorName);
    ds.WriteXml(DatabaseFileName);
    ds.AcceptChanges();
}

但是,如果将DataSet的{​​{1}}属性设置为ItemsSource,您应该如何序列化DataGrid

ObservableCollection方法返回DataSet

GetModules

并绑定到public DataSet GetModules() { return StoreDbDataSet.ReadDataSet(); } 的{​​{1}}。像这样:

DataView