WPF和Silverlight的撤銷和重做框架

2021-06-20 22:20:41 字數 626 閱讀 7961

使用者經常期待富介面裡包含撤銷和重做兩個命令,如果實現得好,可以極大地改善應用程式的可用性。但是,為每個應用程式從頭構建這些功能很費時間,還會導致重複勞動。目前至少有兩個庫可以在這方面幫助wpf和silverlight開發者——infragistics最近宣布的撤銷和重做框架(ctp)以及開源的undo庫。

實現多次撤銷和重做功能的常見辦法是使用命令模式,通過乙個堆疊儲存一組撤銷命令物件。對於重做,可以通過另乙個堆疊儲存所有撤銷過的命令。但是,當你把下列因素考慮進來時,這個簡單的技術很快就會變得複雜:

這個時候撤銷框架就可以派上用場了。infragistics的框架在他們的宣告裡提到了若干特性,包括自定義撤銷單元、支援observablecollection和事務。類似的,kirill osenkov寫了乙個叫undo的開源框架,支援巢狀事務和操作合併。你可以通過kirill的文章和專案文件裡深入了解這個框架。

注意,這些都是線性撤銷和重做框架,它們不支援非線性和分支撤銷(即使用者可以有選擇性地撤銷之前的任何操作,而不必撤銷從那之後的所有東西)。線性撤銷和重做情景也有使用者體驗方面的挑戰,尤其在使用者期望撤銷某些東西,而那些東西卻沒被記錄下來(比如,使用者在乙個文字框裡輸入,突然按tab鍵離開,此時驗證無法通過,繫結的屬性沒有更新)。

希望以後我們能夠看到更多這方面的東西。

WPF和Silverlight的衰落Glowy按鈕

本教程旨在啟發xaml為windows wpf web silverlight 和瀏覽器 xbap 構建豐富的應用程式的功能。我將向您介紹有關使用純xaml構建有吸引力的漸變發光按鈕的資訊。使用xaml,我們不必為外觀精美的控制項構建使用者或自定義控制項。相反,我們使用樣式,與應用於web控制項的c...

什麼是Silverlight 什麼是WPF?

什麼是silverlight?什麼是wpf?wpf windows presentation foundation 是微軟.net framework 3.0的組成部分之一,它是一套基於xml net framework 向量繪圖 vector graphic 技術的表現層 presentation...

Silverlight 2 0學習筆記 WPF

wpf 是英文windows presentation foundation 的首字母的縮寫,它是微軟為 vista 作業系統設計的下一代的基於向量圖並且使用 xml的 ui技術。wpf被集在 3.0以上的 net 框架中,在 windows vista 中.net3.0 的框架是預設被安裝的,對於...