[英]WPF C# - XML Edit Binding in Treeview
我认为这是一个非常基本的问题,但我找不到答案。
我得到了一个XML文件,该文件使用分层数据模板加载到树视图的文本块中:
<HierarchicalDataTemplate.Triggers>
<DataTrigger Binding="{Binding Path=NodeType}" Value="Element">
<Setter TargetName="textBlock1" Property="Text" Value="{Binding Path=Name}"/>
</DataTrigger>
</HierarchicalDataTemplate.Triggers>
用c#代码打开XML:
XmlDocument doc = new XmlDocument();
doc.Load(open.FileName);
XmlDataProvider dp = (XmlDataProvider)this.FindResource("nodes");
dp.Document = doc;
dp.XPath = "*";
当我双击textBlock1时,将出现一个带有取消和保存按钮的新窗口,以及一个包含所选节点的文本框(我要编辑的内容):
XmlNode selected_xNode = tree.SelectedItem as XmlNode;
openWindow.textBox1.Text = selected_xNode.Name;
这可以正常工作,但是当我单击“保存”按钮时,我不知道如何将选定的节点名称更改为textbox.text?
我想要类似的东西:
selected_xNode.Name = textBox1.Text;
我认为您需要打开xml文件并写入指定的节点,然后再次保存。 您不能只是尝试更改树。
XmlDocument doc = new XmlDocument();
doc.Load(open.FileName);
首先,您需要查找元素,最好使用LiNq到Xml。
然后再次写回(替换旧的)。
救
您已经有了XmlNode,因此足以找到该节点。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.