如何在 C# 中编辑 TreeView 中的字段?

Posted

技术标签:

【中文标题】如何在 C# 中编辑 TreeView 中的字段?【英文标题】:How to edit a field in a TreeView in C#? 【发布时间】:2017-02-01 19:31:03 【问题描述】:

我有一个 TreeView:

<TreeView Name="OOB"

而且我知道被点击的项目:

 selectedNode = (XmlNode)OOB.SelectedItem;

TreeView 是根据这个 XML 结构构建的:

<?xml version="1.0" encoding="UTF-8"?>

<Army>
    <ArmyName>The Army of Northern Virginia</ArmyName>
     <Commander> 
         <CommanderName>The Emperor Napoleon</CommanderName>
         <CommanderLeadership>94</CommanderLeadership> 
            <Division>
                <DivisionCommanderName>Major General William T. Sherman</DivisionCommanderName>
                <DivisionCommanderLeadership>78</DivisionCommanderLeadership>
                <Unit>
                    <UnitName>Chasseurs à Cheval Garde</UnitName>
                    <UnitIcon>Cavalry.png</UnitIcon>
                    <UnitType>Cavalry</UnitType>
                    <UnitKStrength>3</UnitKStrength>
                    <UnitStrength>456</UnitStrength>
                    <UnitQuality>94</UnitQuality>
                    <UnitMorale>72</UnitMorale>
                    <UnitLeadership>74</UnitLeadership>
                    <UnitAmmunition>99</UnitAmmunition>
                </Unit>
                <Unit>
                    <UnitName>Battery B 4th US Artillery</UnitName>
                    <UnitIcon>Artillery.png</UnitIcon>
                    <UnitType>Artillery</UnitType>
                    <UnitKStrength>3</UnitKStrength>
                    <UnitStrength>4456</UnitStrength>
                    <UnitQuality>88</UnitQuality>
                    <UnitMorale>65</UnitMorale>
                    <UnitLeadership>82</UnitLeadership>
                    <UnitAmmunition>25</UnitAmmunition>
                </Unit>
            </Division>
            <Division>
                <DivisionCommanderName>Spoons Butler</DivisionCommanderName>
                <DivisionCommanderLeadership>18</DivisionCommanderLeadership>

并且,在一个对话框弹出并消失后,我想将对话框中的新值放入字段中:

<DivisionCommanderLeadership>78</DivisionCommanderLeadership>

例如。如何将值回写到特定的 TreeView 字段中?

谢谢!

【问题讨论】:

【参考方案1】:

这解决了问题(实际上对于另一个领域,但相同的区别): MainWindow.SelectedNode.FirstChild.InnerText = CommanderName.Text;

【讨论】:

以上是关于如何在 C# 中编辑 TreeView 中的字段?的主要内容,如果未能解决你的问题,请参考以下文章

在编辑节点 (C#) 时为 TreeView 提交更改很热?

wpf中的treeview如何增加2级节点?在C#中如何添加?

C# treeview 实现选取并复制功能

如何从 C# 中的两个不同窗体在 TreeView 控件中添加节点

c#、winform、treeview 部分节点加图片

如何访问服务器上的 Jquery TreeView?