[英]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.