本書以通俗容易的說明方式介紹了與Windows 市集應用程式開發相關的基礎知識以及運用技巧。由淺入深,注重實例示範,強化實用價值。內容包括
◎應用程式專案的基本組成元素和脈絡
◎應用資訊管理與頁面導覽
◎程式頁面排版與版面配置控制項
◎正常控制項與資料集合控制項的使用
◎資料綁定
◎圖形的繪製與2D 轉換
◎動畫與多媒體處理
◎檔案IO 與資料管理
◎網路程式設計與應用
◎回應使用者輸入和觸控事件
書附內容
提供範例檔案至官網下載
作者簡介:
周家安
微軟最有價值專家(MVP),擅長.NET及其相關開發技術,專注於探索簡單實用的程式設計學習方法。從事過基於WindowsCE掃描終端應用開發和Web服務介面開發。樂於透過微博客分享一些實用的程式設計技巧。
微博:http://weibo.com/tcjiaan
作者序
序
本書內容立足於基礎知識,但並不適合完全沒有程式設計基礎的讀者。畢竟本書的重點是接近Windows 市集應用程式開發,不會花大篇幅去說明程式設計基礎。因此,有關C# 語言的基礎知識,請讀者參閱MSDN 說明文件以及其他入門教材。
相對而言,本書的內容比較適合在.NET 方面具備一定基礎的讀者使用,如果讀者學習過WPF 或Silverlight 相關知識,學習本書的內容會變得更加輕鬆。
此外,本書也可以作為開設與.NET 技術相關課程的教育訓練機構或大專院校的參考教材。
序
本書內容立足於基礎知識,但並不適合完全沒有程式設計基礎的讀者。畢竟本書的重點是接近Windows 市集應用程式開發,不會花大篇幅去說明程式設計基礎。因此,有關C# 語言的基礎知識,請讀者參閱MSDN 說明文件以及其他入門教材。
相對而言,本書的內容比較適合在.NET 方面具備一定基礎的讀者使用,如果讀者學習過WPF 或Silverlight 相關知識,學習本書的內容會變得更加輕鬆。
此外,本書也可以作為開設與.NET 技術相關課程的教育訓練機構或大專院校的參考教材。
目錄
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
10.10 XML 處理
10.10.1 載入與儲存檔案
10.10.2 動態編輯XML 檔案
10.10.3 使用Linq to XML
10.11 處理JSON 資料
10.12 序列化與反序列化
10.12.1 XML 序列化與反序列化
10.12.2 JSON 序列化與反序列化
10.13 資料保護
10.14 檔案啟動器
10.15 檔案啟動
Chapter 11網路通訊
11.1 Socket 網路程式設計
11.1.1 聊天應用程式
11.1.2 使用StreamSocket 傳輸檔案
11.1.3 WebSocket 通訊技術
11.2 HTTP 通訊
11.2.1 HttpWebRequest 類別與HttpWebResponse類別的使用
11.2.2 如何向伺服器POST 資料
11.3 背景傳輸
11.4 存取Web 服務
11.4.1 呼叫普通的Web 服務
11.4.2 呼叫WCF 服務
11.5 存取RSS 資源
Chapter 12觸控與鍵盤事件
12.1 觸控操作
12.1.1 觸控事件引發的順序
12.1.2 觸控操作範例
12.2 Tapped 與RightTapped 事件
12.3 鍵盤事件
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 設定應用...