XML绑定不保存

时间:2014-08-11 18:26:27

标签: c# xml wpf xaml

我目前正在开发一个非常简单的TreeView WPF。我有一个相对简单的XML文件,我希望能够通过此窗口查看和编辑。但是我无法获取要保存的文件。

我的简化XAML文件如下所示

<Window x:Class="TreeView2.MainWindow"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    Title="MainWindow" Height="350" Width="525">
    <Window.Resources>
        <XmlDataProvider x:Name="ListName" x:Key="MyList" 
                         Source="C:\CAD.Services\MASTER.xml"  
                         XPath="variables" />
        <HierarchicalDataTemplate DataType="variables" ItemsSource="{Binding XPath=*}">
            <TextBox FontSize="25" Foreground="Black" Text="variables"></TextBox>
        </HierarchicalDataTemplate>
    </Window.Resources>
    .....
    .....
</Window>

以及位于我的网格中的保存按钮

<StackPanel HorizontalAlignment="Left">
    <Button Content="CLICK HERE TO SAVE (not working)"
            HorizontalAlignment="Left"
            Margin="10,10,0,0"
            Click="Button_Click_1"
            />
</StackPanel>

我的后面代码如下所示

public MainWindow()
{
    InitializeComponent();
    XmlDataProvider MyList = (XmlDataProvider)this.FindResource("MyList");
    MyList.Source = new Uri("C:\\CAD.Services\\MASTER.xml");
}

public void Button_Click_1(object sender, EventArgs e)
{
    XmlDataProvider MyList = (XmlDataProvider)this.FindResource("MyList");
    string source = "C:\\CAD.Services\\MASTER.xml";
    MyList.Document.Save(source);

}

当我运行程序并单击“保存”按钮时,它会告诉我MASTER.xml已在源编辑器外部进行了修改,并询问我是否要重新加载它。但是,当我这样做时,没有进行任何更改。

我将xml文件设置为在属性较新时复制,所以我知道这不是问题。据我所知,它应该工作。有什么建议?

此外,如果您需要任何澄清,请在评论中询问,我是wpf的新手,我仍然试图自己解决这个问题。

0 个答案:

没有答案