|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
你可以先看看这篇文章(软微学院生涯-三朝元老经验谈),打不开再跟我说。(我的意思是想让她自己先稍微了解一下到底现在各个方向学的工具以及以后要做的工具大概是什么,因为喜欢做什么样的事其实自己最清楚的)用户常常等候富界面里包括打消和重做两个命令,假如完成得好,能够极年夜地改良使用程序的可用性。可是,为每一个使用程序重新构建这些功效很费工夫,还会招致反复休息。今朝最少有两个库能够在这方面匡助WPF和Silverlight开辟者——Infragistics比来公布的打消和重做框架(CTP)和开源的Undo库。
完成屡次打消和重做功效的罕见举措是利用命令形式,经由过程一个仓库保留一组打消命令对象。关于重做,能够经由过程另外一个仓库保留一切打消过的命令。可是,当你把以下要素思索出去时,这个复杂的手艺很快就会变得庞大:
- 汇合和属性必要分隔处置。
- 多个命令多是串在一同的,好比说,假如你有一个文本框绑到一个模子的属性,你不想每一个击键都被看作一个自力的操纵,即便这个模子会在每次击键的时分更新。
这个时分打消框架就能够派上用处了。Infragistics的框架在他们的声明里提到了多少特征,包含自界说打消单位、撑持ObservableCollection和事件。相似的,KirillOsenkov写了一个叫Undo的开源框架,撑持嵌套事件和操纵兼并。你能够经由过程Kirill的文章和项目文档里深切懂得这个框架。
注重,这些都是线性打消和重做框架,它们不撑持非线性和分支打消(即用户能够有选择性地打消之前的任何操纵,而不用打消从那以后的一切工具)。线性打消和重做情形也有效户体验方面的应战,特别在用户希冀打消某些工具,而那些工具却没被纪录上去(好比,用户在一个文本框里输出,俄然按Tab键分开,此时考证没法经由过程,绑定的属性没有更新)。
但愿今后我们可以看到更多这方面的工具。
检察英文原文:Undo-RedoFrameworksForWPFandSilverlight
无论谁倒了对双方阵营的粉丝们也是有害无益。 |
|