Stylet是WPF的MVVM套件,標榜不需撰寫CodeBehind程式碼也可以建構完整應用程式,感覺很棒,來試試看吧。
2018-12-21
Stylet是WPF的MVVM套件,標榜不需撰寫CodeBehind程式碼也可以建構完整應用程式,感覺很棒,來試試看吧。
如何以MVVM的方式處理WPF的Combobox的資料繫結(Data Binding)?
若需要讓使用者輸入文字後,可以顯示出接近的選項,供使用者選擇,該如何實作?
當切換頁面後,Page顯示在Frame的中央,無法填滿整個Frame時,如何使Page能依Frame的大小自動縮放並填滿整個Frame?
在DataGrid中加入ComboBox資料行,並做資料繫結,且需要轉換資料再顯示。
DataGrid預設是點一下為選取,點兩下為編輯,為了讓使用者在DataGrid上編輯時,有較好的使用體驗,必須改成點一下立刻可以編輯。
DataGrid於Decimal?型態的欄位中輸入空字串時,自動以Null取代。
在DataGrid使用DataGridCheckBoxColumn作為刪除資料列的標記,使用者可以先勾選想要刪除的資料列後,再按下鍵盤上的「刪除(Delete)按鈕」來刪除所有勾選的資料列。在DataGrid的PreviewKeyDown事件裡使用DataGrid資料來源(這裡的資料來源是DataTable)裡的IsChecked欄位(IsChedked欄位是我自行加入的,用來與DataGridCheckBoxColumn做資料繫結)判斷資料列是否有被勾選,但是最後一個勾選的CheckBox資料沒有更新至IsChedked欄位,所以沒有被刪除到。這時,可以使用DataGrid的CommitEdit()方法結束編輯模式立即更新資料源。程式如下:
Image控制項載入圖檔後,不會占用原始圖檔的資源。