WPF获取选中单元格的内容-技术&分享

1.DataGrid动态添加一行数据


点击添加按钮时,DataGrid添加一行数据

代码如下

TempPackageConfig.xml文件

<?xml version="1.0" encoding="utf-8" ?>
<Mysoft.Config>
  <PackageCollection>
    <PackageVersion name="" maxId="">
    </PackageVersion>
  </PackageCollection>
</Mysoft.Config>
添加一行数据

private void AddButton_Click(object sender, RoutedEventArgs e)//添加更新包
        {
            XmlDocument xmlPackage = getTempConfigXml();

            XmlElement element = xmlPackage.CreateElement("Details");
            XmlNode node = xmlPackage.SelectSingleNode(@"/Mysoft.Config/PackageCollection/PackageVersion");
            node.AppendChild(element);

            element = xmlPackage.CreateElement("PackageName");
            XmlNode DetailsNode= xmlPackage.SelectSingleNode(@"/Mysoft.Config/PackageCollection/PackageVersion").LastChild;
            node = DetailsNode.AppendChild(element);
            node.InnerText = PackageNameBox.Text;

            element = xmlPackage.CreateElement("PackagePath");
            node = DetailsNode.AppendChild(element);
            node.InnerText = PackagePathBox.Text;

            element = xmlPackage.CreateElement("Do");
            node = DetailsNode.AppendChild(element);
            node.InnerText = "删除";

            xmlPackage.Save(AppDomain.CurrentDomain.BaseDirectory + "TempPackageConfig.xml");


            XmlNodeList Nodelist = xmlPackage.SelectNodes(@"/Mysoft.Config/PackageCollection/PackageVersion/Details");
            PackageDetailsGrid.ItemsSource = Nodelist;

        }


总共定义了3个单元格:更新包名称PackageName、更新包路径PackagePath、操作Do

2.获取DataGrid选中行的内容

点击第一行最后一个单元格删除超链接时,想要获取到当前选中行的更新包单元格的内容(3123)


PackageDetailsGrid为DataGrid的名称

获取当前选中的行:PackageDetailsGrid.SelectedItem

获取当前选中行的索引:PackageDetailsGrid.SelectedIndex

获取到PackageDetailsGrid.SelectedItem为object类型,不知道怎么操作,所以将object(System.xml.XmlElement)转换为System.Xml.XmlLinkedNode

获取第一行第一列单元格PackageName的内容

((System.Xml.XmlLinkedNode)(PackageDetailsGrid.SelectedItem)).SelectSingleNode("PackageName").InnerText;


发布了40 篇原创文章 · 获赞 4 · 访问量 7万+

猜你喜欢

转载自blog.csdn.net/jackson0714/article/details/25081929