LINQ to XML 数据绑定示例

本文介绍 LinqToXmlDataBinding 示例,它是一个 Windows Presentation Foundation (WPF) 应用,用于将用户界面组件绑定到嵌入式 XML 数据源。

概述

LinqToXmlDataBinding 示例是一个 Windows Presentation Foundation (WPF) 应用,其中包含 C# 和 XAML 源文件。 嵌入的 XML 文档定义了一个书籍列表。 该应用允许用户查看、添加、删除和编辑书籍条目。

有两个主要源文件:

  • L2DBForm.xaml 包含主窗口的用户界面 (UI) 的 XAML 声明代码。 还包含为书籍列表定义数据提供程序和嵌入式 XML 文档的窗口资源部分。

  • L2DBForm.xaml.cs 包含与用户界面关联的初始化和事件处理方法

主窗口分为以下四个垂直用户界面部分:

  • “XML”显示嵌入式书籍列表的原始 XML 源。

  • “Book List”(书籍列表)以标准文本形式显示书籍项,允许用户选择和删除各项。

  • “Edit Selected Book”(编辑所选书籍)允许用户编辑与当前所选书籍项关联的值。

  • “Add New Book”(添加新书籍)允许根据用户输入的值创建新书。

运行示例

本节演示如何在 Visual Studio 中创建和生成 LinqToXmlDataBinding 项目,以及如何运行生成的 LinqToXmlDataBinding Windows Presentation Foundation (WPF) 应用。

创建项目

  1. 打开 Visual Studio 并创建一个名为 LinqToXmlDataBinding 的 C# WPF 应用。

    该项目应面向 .NET Framework 3.5(或更高版本)。

  2. 为以下 .NET 程序集添加项目引用(如果尚不存在):

    • System.Data
    • System.Data.DataSetExtensions
    • System.Xml
    • System.Xml
  3. 按 Ctrl+Shift+B 生成解决方案,然后按 F5 运行该解决方案

    该项目应正确编译而不出错,并作为一般 WPF 应用程序运行。

添加代码

  1. 在解决方案资源管理器中,将源文件 Window1.xaml 重命名为“L2XDBForm.xaml

    依赖源文件 Window1.xaml.cs 会自动重命名为 L2XDBForm.xaml.cs。

  2. L2DBForm.xaml 源代码替换 L2XDBForm.xaml 文件中的源代码。 使用 XAML 源视图来处理此文件。

  3. 同样,用 L2DBForm.xaml.cs 源代码替换 L2XDBForm.xaml.cs 中的源代码

  4. 在 App.xaml 文件中,用“L2XDBForm.xaml”替换“Window1.xaml”字符串的所有匹配项

  5. Ctrl+Shift+B 生成解决方案。

运行应用

LinqToXmlDataBinding 应用可以让用户查看和操作以嵌入式 XML 元素形式存储的书籍列表。 按 F5(开始调试)或 Ctrl+F5(启动而不调试)运行应用

显示标题为“使用 LINQ to XML 的 WPF 数据绑定”的程序窗口

UI 的顶部区域将显示表示书籍列表的原始 XML。 它使用 WPF TextBlock 控件来显示,该控件不启用通过鼠标或键盘交互。

标记为“书籍列表”的第二个垂直区域以排序的纯文本列表形式显示书籍。 它使用启用通过鼠标或键盘进行选择的 ListBox 控件。

添加和删除书籍

若要向列表中添加新书籍,请向最后一个部分“添加新书籍”的“ID”和“值”TextBox 控件中输入值,然后选择“添加书籍”。 这会向书籍列表和 XML 列表中追加该书籍。 此程序不验证输入值。

若要从列表中删除现有书籍,请在“书籍列表”部分选择该书籍,然后选择“删除所选书籍”。 这会从书籍列表和原始 XML 源列表中删除该书籍条目。

编辑书籍条目

  1. 在第二个“书籍列表”区域中选择书籍条目。

    其当前值应该显示在“编辑所选书籍”部分中

  2. 使用键盘编辑值。 只要任一 TextBox 控件失去焦点,更改就会自动传播到 XML 源和书籍列表。