我目前正在开发一个非常简单的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的新手,我仍然试图自己解决这个问题。