LINQ to XML 数据绑定示例

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

概述

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

有两个主要源文件:

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

  • L2DBForm.xaml.cs 包含与 UI 关联的初始化和事件处理方法。

主窗口分为以下四个垂直 UI 部分:

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

  • 书籍列表 将书籍条目显示为标准文本,并使用户能够选择和删除单个条目。

  • 通过“编辑所选书籍 ”,用户可以编辑与当前所选书籍条目关联的值。

  • 添加新书籍 可基于用户输入的值创建新的书籍条目。

运行示例

本部分介绍如何在 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. 文件 L2XDBForm.xaml 中找到的源代码替换为 L2DBForm.xaml 源代码。 使用 XAML 源视图处理此文件。

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

  4. App.xaml 文件中,将字符串 Window1.xaml 的所有匹配项替换为 L2XDBForm.xaml

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

运行应用

LinqToXmlDataBinding 应用允许用户查看和操作存储为嵌入式 XML 元素的书籍列表。 按 F5 (开始调试)或 Ctrl+F5 (无调试启动)运行应用。

一个标题为 WPF 数据绑定使用 LINQ to XML 的程序窗口出现。

UI 的顶部部分显示表示书籍列表的原始 XML 。 它使用 WPF TextBlock 控件显示,该控件无法通过鼠标或键盘进行交互。

标记为 “书籍列表”的第二个垂直部分将书籍显示为纯文本排序列表。 它使用的 ListBox 控件允许通过鼠标或键盘进行选择。

添加和删除书籍

若要向列表中添加新书籍,请在最后一节的 IDTextBox 控件中输入值,添加新 书籍,然后选择“ 添加书籍”。 该书将添加到书籍列表和 XML 列表中。 此程序不验证输入值。

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

编辑书籍条目

  1. 选择第二个 “书籍列表 ”部分中的书籍条目。

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

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