簡體   English   中英

WPF C#-樹形視圖中的XML編輯綁定

[英]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);
  1. 首先,您需要查找元素,最好使用LiNq到Xml。

  2. 然后再次寫回(替換舊的)。

您已經有了XmlNode,因此足以找到該節點。

http://www.hookedonlinq.com/LINQtoXML5MinuteOverview.ashx

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM