內容簡介
.NET Framework 教戰手冊 - 實戰 Windows 市集應用程式開發
內容簡介
本書運用豐富的實例系統論述了Windows應用程式開發的基本方法、技能與技巧。本書重點介紹Windows商店應用程式(Windows Store App)開發,共包含12章的豐富內容,分別詳盡剖析了以下知識:應用程式專案的基本組成元素和脈絡、應用資訊管理與頁面導航、程式頁面排版與佈局控制項的使用、常規控制項與資料集合控制項的使用、資料綁定、圖形的繪製與二維變換、動畫與多媒體處理、I/O與資料管理、網路程式設計與應用、回應用戶輸入和觸控事件。
本書適合作為Windows技術愛好者及程式設計人員的入門參考,也可作為培訓.NET技術相關課程的參考教材,尤其適合具備.NET框架和C#程式設計語言基礎的讀者參考使用。
內容簡介
本書運用豐富的實例系統論述了Windows應用程式開發的基本方法、技能與技巧。本書重點介紹Windows商店應用程式(Windows Store App)開發,共包含12章的豐富內容,分別詳盡剖析了以下知識:應用程式專案的基本組成元素和脈絡、應用資訊管理與頁面導航、程式頁面排版與佈局控制項的使用、常規控制項與資料集合控制項的使用、資料綁定、圖形的繪製與二維變換、動畫與多媒體處理、I/O與資料管理、網路程式設計與應用、回應用戶輸入和觸控事件。
本書適合作為Windows技術愛好者及程式設計人員的入門參考,也可作為培訓.NET技術相關課程的參考教材,尤其適合具備.NET框架和C#程式設計語言基礎的讀者參考使用。
作者簡介
周家安
微軟最有價值專家(MVP),擅長.NET及其相關開發技術,專注於探索簡單實用的程式設計學習方法。從事過以WindowsCE為基礎掃描終端應用開發和Web服務介面開發。樂於透過撰寫部落格來分享一些實用的程式設計技巧。
微軟最有價值專家(MVP),擅長.NET及其相關開發技術,專注於探索簡單實用的程式設計學習方法。從事過以WindowsCE為基礎掃描終端應用開發和Web服務介面開發。樂於透過撰寫部落格來分享一些實用的程式設計技巧。
內容目錄
Chapter 01準備工作
1.1 邂逅XAML
1.1.1 XAML 的命名空間
1.1.2 擴充標記
1.2 了解應用程式專案
1.3 尋找程式的入口點
1.4 一些技巧
1.4.1 讓開發環境更加個性化
1.4.2 實用的偵錯技巧
1.4.3 請撰寫標準的程式
1.4.4 巧用其他學習資源
Chapter 02應用程式管理
2.1 儲存和恢復應用程式狀態
2.1.1 使用本機應用程式設定儲存狀態資訊
2.1.2 使用序列化方式儲存狀態資訊
2.2 設定應用程式的基本資訊
2.2.1 設定應用標題和說明
2.2.2 取代初始螢幕圖片
2.2.3 設定動態磚的背景顏色
2.2.4 設定應用程式圖示
2.3 頁面導覽與參數傳遞
2.3.1 簡單的頁面導覽實現
2.3.2 向頁面傳遞參數
2.3.3 控制頁面的快取模式
2.3.4 將Frame 嵌入到一個頁面中
Chapter 03介面版面配置
3.1 線性版面配置 — StackPanel
3.2 精確定位 — Canvas
3.3 網格版面配置之Grid
3.3.1 劃分行和列
3.3.2 定位子元素
3.3.3 Grid 版面配置實例
3.4 網格版面配置之VariableSizedWrapGrid
3.5 對齊方式與邊距
3.5.1 對齊方式
3.5.2 Margin 與Padding
3.6 根據應用程式的視圖調整版面配置
Chapter 04常用控制項
4.1 使用控制項的一些準則
4.1.1 樸素大方最重要
4.1.2 植入廣告要恰到好處
4.1.3 介面美化與使用者體驗要取得平衡
4.2 按鈕
4.2.1 Button
4.2.2 HyperlinkButton
4.2.3 RadioButton
4.2.4 CheckBox
4.2.5 RepeatButton
4.3 文字顯示控制項
4.3.1 TextBlock
4.3.2 RichTextBlock
4.3.3 RichTextBlockOverflow
4.4 文字輸入控制項 — TextBox
4.4.1 驗證輸入內容
4.4.2 設定InputScope
4.4.3 TextChanged 事件
4.4.4 隱藏右鍵選單
4.5 密碼輸入控制項 — PasswordBox
4.6 影像呈現控制項 — Image
4.7 內容的伸展與縮放 — Viewbox
4.8 滑桿 — Slider
4.8.1 ValueChanged 事件
4.8.2 刻度線的位置
4.8.3 ThumbToolTipValueConverter 屬性
4.9 提示工作正在進行 — ProgressRing
4.10 進度指示器 — ProgressBar
4.11 「開關」控制項 — ToggleSwitch
4.12 工具提示控制項 — ToolTip
4.13 訊息提示框 — MessageDialog
4.14 使用者控制項
4.15 應用程式欄 — AppBar
4.16 WebView 控制項與HTML 呈現
4.16.1 根據輸入的位址瀏覽頁面
4.16.2 直接為WebView 設定HTML 檔案
4.16.3 在WebView 中呼叫指令稿
Chapter 05資料綁定與集合控制項
5.1 資料綁定與Binding 類別
5.1.1 Path 屬性和Source 屬性
5.1.2 DataContext 與{Binding}擴充標記
5.2 INotifyPropertyChanged 介面與雙向綁定
5.3 資料綁定與匿名類型
5.4 集合控制項初探
5.4.1 設定資料來源
5.4.2 DisplayMemberPath 屬性與SelectedValuePath 屬性
5.4.3 SelectionMode 屬性與SelectedItems 屬性
5.4.4 SelectionChanged 事件
5.5 資料模版
5.5.1 使用統一的資料模版
5.5.2 使用不統一的資料模版
5.6 ObservableCollection 集合
5.7 值轉換器
5.7.1 使用值轉換器
5.7.2 帶參數的值轉換器
5.8 在視覺化元素之間進行資料綁定
5.9 自訂項列表的版面配置
5.10 為資料顯示增加標題
5.10.1 使用Header 屬性
5.10.2 製作網格列表檢視
5.11 FlipView 控制項
5.11.1 在FlipView 控制項呈現影像
5.11.2 FlipView 控制項與資料綁定
5.12 增量載入與IsupportIncrementalLoading 介面
5.13 資料的分組
5.13.1 了解ItemsPath 屬性
5.13.2 GroupItems 屬性的來源
5.13.3 資料分組與LinQ 敘述
5.14 縮放檢視
5.14.1 ViewChangeStarted 和ViewChangeCompleted 事件
5.14.2 使用CollectionViewSource 讓SemanticZoom 控制項自動
完成檢視切換處理
5.15 Icommand 介面
Chapter 06圖形與動畫
6.1 基本圖形
6.1.1 Line
6.1.2 Rectangle
6.1.3 Ellipse
6.1.4 Polyline
6.1.5 Polygon
6.2 路徑
6.2.1 EllipseGeometry
6.2.2 RectangleGeometry
6.2.3 LineGeometry
6.2.4 GeometryGroup
6.2.5 PathGeometry
6.2.6 FillRule 屬性
6.3 筆刷
6.3.1 SolidColorBrush
6.3.2 LinearGradientBrush
6.3.3 ImageBrush
6.3.4 WebViewBrush
6.4 2D 轉換
6.4.1 TranslateTransform
6.4.2 ScaleTransform
6.4.3 RotateTransform
6.4.4 SkewTransform
6.4.5 TransformGroup
6.4.6 CompositeTransform
6.5 透視轉換
6.6 簡單動畫
6.6.1 DoubleAnimation
6.6.2 PointAnimation
6.6.3 ColorAnimation
6.7 關鍵頁框動畫
6.7.1 範例MyApp_1:滑動的圓
6.7.2 範例MyApp_2:「開門」動畫
6.7.3 範例MyApp_3:變色文字
6.8 控制動畫的播放行為
6.9 控制項模版中的動畫
6.9.1 修改控制項的預設模版
6.9.2 視覺化狀態的使用方法
Chapter 07搜尋、設定與共用整合
7.1 整合搜尋功能
7.1.1 為應用程式加入搜尋功能
7.1.2 ShowOnKeyboardInput 屬性
7.1.3 使用搜尋建議
7.1.4 搜尋啟動
7.2 應用程式設定
7.3 資料共用
7.3.1 剪貼簿
7.3.2 共用目標
Chapter 08 Toast 通知、動態磚與彈出選單
8.1 Toast 通知
8.1.1 如何產生Toast 通知
8.1.2 更改Toast 通知的提示聲音
8.1.3 在計劃時間後顯示Toast 通知
8.2 動態磚
8.2.1 為動態磚定義影像
8.2.2 更新動態磚資訊
8.2.3 建立次要動態磚
8.3 更新徽章提醒
8.4 使用彈出選單
Chapter 09多媒體處理
9.1 播放多媒體
9.1.1 使用MediaElement 播放多媒體範例
9.1.2 使用MediaElement 附帶的播放控制項
9.1.3 背景播放
9.2 多媒體捕捉
9.2.1 CameraCaptureUI
9.2.2 MediaCapture
9.3 影像的解碼與編碼
9.3.1 Png 格式轉Jpg 格式範例
9.3.2 影像反色處理範例
9.4 Play To
9.4.1 Play To 接收端應用範例
9.4.2 Play To 發送端應用範例
9.5 多媒體轉碼
9.6 將視覺化元素儲存為影像檔
9.7 語音朗讀
Chapter 10應用程式資料與檔案I/O
10.1 管理應用程式設定資料
10.1.1 應用程式設定存取簡單範例
10.1.2 合併設定值
10.1.3 管理設定容器
10.2 管理應用儲存區中的目錄和檔案
10.3 檔案選擇器
10.3.1 FileOpenPicker
10.3.2 FileSavePicker
10.4 目錄選擇器
10.5 自訂檔案選擇器的UI
10.5.1 FileOpenPickerUI 範例
10.5.2 FileSavePickerUI 範例
10.6 存取媒體櫃
10.7 FileIO 與PathIO
10.7.1 FileIO 類別的使用
10.7.2 PathIO 類別的使用
10.8 可存取儲存列表管理
10.9 流的操作
10.9.1 讀寫檔案流範例
10.9.2 記憶體流InMemoryRandomAccessStream 的使用
10.9.3 DataWriter 和DataReader
1.1 邂逅XAML
1.1.1 XAML 的命名空間
1.1.2 擴充標記
1.2 了解應用程式專案
1.3 尋找程式的入口點
1.4 一些技巧
1.4.1 讓開發環境更加個性化
1.4.2 實用的偵錯技巧
1.4.3 請撰寫標準的程式
1.4.4 巧用其他學習資源
Chapter 02應用程式管理
2.1 儲存和恢復應用程式狀態
2.1.1 使用本機應用程式設定儲存狀態資訊
2.1.2 使用序列化方式儲存狀態資訊
2.2 設定應用程式的基本資訊
2.2.1 設定應用標題和說明
2.2.2 取代初始螢幕圖片
2.2.3 設定動態磚的背景顏色
2.2.4 設定應用程式圖示
2.3 頁面導覽與參數傳遞
2.3.1 簡單的頁面導覽實現
2.3.2 向頁面傳遞參數
2.3.3 控制頁面的快取模式
2.3.4 將Frame 嵌入到一個頁面中
Chapter 03介面版面配置
3.1 線性版面配置 — StackPanel
3.2 精確定位 — Canvas
3.3 網格版面配置之Grid
3.3.1 劃分行和列
3.3.2 定位子元素
3.3.3 Grid 版面配置實例
3.4 網格版面配置之VariableSizedWrapGrid
3.5 對齊方式與邊距
3.5.1 對齊方式
3.5.2 Margin 與Padding
3.6 根據應用程式的視圖調整版面配置
Chapter 04常用控制項
4.1 使用控制項的一些準則
4.1.1 樸素大方最重要
4.1.2 植入廣告要恰到好處
4.1.3 介面美化與使用者體驗要取得平衡
4.2 按鈕
4.2.1 Button
4.2.2 HyperlinkButton
4.2.3 RadioButton
4.2.4 CheckBox
4.2.5 RepeatButton
4.3 文字顯示控制項
4.3.1 TextBlock
4.3.2 RichTextBlock
4.3.3 RichTextBlockOverflow
4.4 文字輸入控制項 — TextBox
4.4.1 驗證輸入內容
4.4.2 設定InputScope
4.4.3 TextChanged 事件
4.4.4 隱藏右鍵選單
4.5 密碼輸入控制項 — PasswordBox
4.6 影像呈現控制項 — Image
4.7 內容的伸展與縮放 — Viewbox
4.8 滑桿 — Slider
4.8.1 ValueChanged 事件
4.8.2 刻度線的位置
4.8.3 ThumbToolTipValueConverter 屬性
4.9 提示工作正在進行 — ProgressRing
4.10 進度指示器 — ProgressBar
4.11 「開關」控制項 — ToggleSwitch
4.12 工具提示控制項 — ToolTip
4.13 訊息提示框 — MessageDialog
4.14 使用者控制項
4.15 應用程式欄 — AppBar
4.16 WebView 控制項與HTML 呈現
4.16.1 根據輸入的位址瀏覽頁面
4.16.2 直接為WebView 設定HTML 檔案
4.16.3 在WebView 中呼叫指令稿
Chapter 05資料綁定與集合控制項
5.1 資料綁定與Binding 類別
5.1.1 Path 屬性和Source 屬性
5.1.2 DataContext 與{Binding}擴充標記
5.2 INotifyPropertyChanged 介面與雙向綁定
5.3 資料綁定與匿名類型
5.4 集合控制項初探
5.4.1 設定資料來源
5.4.2 DisplayMemberPath 屬性與SelectedValuePath 屬性
5.4.3 SelectionMode 屬性與SelectedItems 屬性
5.4.4 SelectionChanged 事件
5.5 資料模版
5.5.1 使用統一的資料模版
5.5.2 使用不統一的資料模版
5.6 ObservableCollection 集合
5.7 值轉換器
5.7.1 使用值轉換器
5.7.2 帶參數的值轉換器
5.8 在視覺化元素之間進行資料綁定
5.9 自訂項列表的版面配置
5.10 為資料顯示增加標題
5.10.1 使用Header 屬性
5.10.2 製作網格列表檢視
5.11 FlipView 控制項
5.11.1 在FlipView 控制項呈現影像
5.11.2 FlipView 控制項與資料綁定
5.12 增量載入與IsupportIncrementalLoading 介面
5.13 資料的分組
5.13.1 了解ItemsPath 屬性
5.13.2 GroupItems 屬性的來源
5.13.3 資料分組與LinQ 敘述
5.14 縮放檢視
5.14.1 ViewChangeStarted 和ViewChangeCompleted 事件
5.14.2 使用CollectionViewSource 讓SemanticZoom 控制項自動
完成檢視切換處理
5.15 Icommand 介面
Chapter 06圖形與動畫
6.1 基本圖形
6.1.1 Line
6.1.2 Rectangle
6.1.3 Ellipse
6.1.4 Polyline
6.1.5 Polygon
6.2 路徑
6.2.1 EllipseGeometry
6.2.2 RectangleGeometry
6.2.3 LineGeometry
6.2.4 GeometryGroup
6.2.5 PathGeometry
6.2.6 FillRule 屬性
6.3 筆刷
6.3.1 SolidColorBrush
6.3.2 LinearGradientBrush
6.3.3 ImageBrush
6.3.4 WebViewBrush
6.4 2D 轉換
6.4.1 TranslateTransform
6.4.2 ScaleTransform
6.4.3 RotateTransform
6.4.4 SkewTransform
6.4.5 TransformGroup
6.4.6 CompositeTransform
6.5 透視轉換
6.6 簡單動畫
6.6.1 DoubleAnimation
6.6.2 PointAnimation
6.6.3 ColorAnimation
6.7 關鍵頁框動畫
6.7.1 範例MyApp_1:滑動的圓
6.7.2 範例MyApp_2:「開門」動畫
6.7.3 範例MyApp_3:變色文字
6.8 控制動畫的播放行為
6.9 控制項模版中的動畫
6.9.1 修改控制項的預設模版
6.9.2 視覺化狀態的使用方法
Chapter 07搜尋、設定與共用整合
7.1 整合搜尋功能
7.1.1 為應用程式加入搜尋功能
7.1.2 ShowOnKeyboardInput 屬性
7.1.3 使用搜尋建議
7.1.4 搜尋啟動
7.2 應用程式設定
7.3 資料共用
7.3.1 剪貼簿
7.3.2 共用目標
Chapter 08 Toast 通知、動態磚與彈出選單
8.1 Toast 通知
8.1.1 如何產生Toast 通知
8.1.2 更改Toast 通知的提示聲音
8.1.3 在計劃時間後顯示Toast 通知
8.2 動態磚
8.2.1 為動態磚定義影像
8.2.2 更新動態磚資訊
8.2.3 建立次要動態磚
8.3 更新徽章提醒
8.4 使用彈出選單
Chapter 09多媒體處理
9.1 播放多媒體
9.1.1 使用MediaElement 播放多媒體範例
9.1.2 使用MediaElement 附帶的播放控制項
9.1.3 背景播放
9.2 多媒體捕捉
9.2.1 CameraCaptureUI
9.2.2 MediaCapture
9.3 影像的解碼與編碼
9.3.1 Png 格式轉Jpg 格式範例
9.3.2 影像反色處理範例
9.4 Play To
9.4.1 Play To 接收端應用範例
9.4.2 Play To 發送端應用範例
9.5 多媒體轉碼
9.6 將視覺化元素儲存為影像檔
9.7 語音朗讀
Chapter 10應用程式資料與檔案I/O
10.1 管理應用程式設定資料
10.1.1 應用程式設定存取簡單範例
10.1.2 合併設定值
10.1.3 管理設定容器
10.2 管理應用儲存區中的目錄和檔案
10.3 檔案選擇器
10.3.1 FileOpenPicker
10.3.2 FileSavePicker
10.4 目錄選擇器
10.5 自訂檔案選擇器的UI
10.5.1 FileOpenPickerUI 範例
10.5.2 FileSavePickerUI 範例
10.6 存取媒體櫃
10.7 FileIO 與PathIO
10.7.1 FileIO 類別的使用
10.7.2 PathIO 類別的使用
10.8 可存取儲存列表管理
10.9 流的操作
10.9.1 讀寫檔案流範例
10.9.2 記憶體流InMemoryRandomAccessStream 的使用
10.9.3 DataWriter 和DataReader