本文介绍将用户界面组件绑定到嵌入式 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) 应用。
创建项目
打开 Visual Studio 并创建名为 LinqToXmlDataBinding 的 C# WPF 应用。
项目应面向 .NET Framework 3.5(或更高版本)。
如果尚不存在,请为以下 .NET 程序集添加项目引用:
- System.Data
- System.Data.DataSetExtensions
- System.Xml
- System.Xml
按 Ctrl+Shift+B 生成解决方案,然后按 F5 运行该解决方案。
项目应编译而不出现错误,并作为通用 WPF 应用程序运行。
添加代码
在 解决方案资源管理器中,将源文件 Window1.xaml 重命名为 L2XDBForm.xaml。
依赖源文件Window1.xaml.cs会自动重命名为L2XDBForm.xaml.cs。
将 文件 L2XDBForm.xaml 中找到的源代码替换为 L2DBForm.xaml 源代码。 使用 XAML 源视图处理此文件。
同样,将 L2XDBForm.xaml.cs 中的源替换为 L2DBForm.xaml.cs源代码。
在 App.xaml 文件中,将字符串 Window1.xaml 的所有匹配项替换为 L2XDBForm.xaml。
按 Ctrl+Shift+B 生成解决方案。
运行应用
LinqToXmlDataBinding 应用允许用户查看和操作存储为嵌入式 XML 元素的书籍列表。 按 F5 (开始调试)或 Ctrl+F5 (无调试启动)运行应用。
一个标题为 WPF 数据绑定使用 LINQ to XML 的程序窗口出现。
UI 的顶部部分显示表示书籍列表的原始 XML 。 它使用 WPF TextBlock 控件显示,该控件无法通过鼠标或键盘进行交互。
标记为 “书籍列表”的第二个垂直部分将书籍显示为纯文本排序列表。 它使用的 ListBox 控件允许通过鼠标或键盘进行选择。
添加和删除书籍
若要向列表中添加新书籍,请在最后一节的 ID 和 值TextBox 控件中输入值,添加新 书籍,然后选择“ 添加书籍”。 该书将添加到书籍列表和 XML 列表中。 此程序不验证输入值。
若要从列表中删除现有书籍,请在 “书籍列表 ”部分将其选中,然后选择“ 删除所选书籍”。 书籍条目将从书籍和原始 XML 源列表中删除。
编辑书籍条目
选择第二个 “书籍列表 ”部分中的书籍条目。
其当前值显示在 “编辑所选书籍 ”部分。
使用键盘编辑值。 只要任一 TextBox 控件失去焦点,更改就会自动传播到 XML 源和书籍列表。