LINQ to XML 資料繫結範例
此文章說明 LinqToXmlDataBinding 範例 Windows Presentation Foundation (WPF) 應用程式如何將使用者介面元件繫結至內嵌的 XML 資料來源。
概觀
LinqToXmlDataBinding 範例是包含 C# 和 XAML 原始檔的 Windows Presentation Foundation (WPF) 應用程式。 內嵌的 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 (啟動但不偵錯),來執行應用程式。
標題為 [使用 LINQ to XML 進行 WPF 資料繫結] 的程式視窗隨即出現。
UI 的上方區段,會顯示代表書籍清單的原始 XML。 它會使用 WPF TextBlock 控制項顯示,不會透過滑鼠或鍵盤啟用互動。
第二個垂直區段標示為 [書籍清單],會將書籍顯示為純文字排序的清單。 它使用 ListBox 控制項,可透過滑鼠或鍵盤進行選取。
新增及刪除書籍
若要將新的書籍新增至清單,請在最後一個區段 [新增書籍] 的 [ID] 和 [值] TextBox 控制項中輸入值,然後選取 [新增書籍]。 該書籍會同時附加到書籍的清單和 XML 清單中。 這個程式不會驗證輸入值。
若要從清單刪除現有的書籍,請在 [書籍清單] 區段選取該書籍,然後選取 [移除選取的書籍]。 該書籍項目已同時從書籍和原始 XML 來源清單中移除。
編輯電話簿項目
在第二個 [書籍清單] 區段中選取書籍項目。
其目前的值應該會顯示在 [編輯選取的書籍] 區段中。
使用鍵盤編輯值。 只要任一個 TextBox 控制項失去焦點,這些變更就會自動填入到 XML 原始碼和書籍清單。