摘要:
在文本编辑中经常使用到“撤销”操作(Ctrl-Z),以及一个与之相应的“重复”操作(Ctrl-Y),各种不同的编辑操作都可以使用这两个操作来撤销或重复,那么如此多的编辑操作是如何被设计到一起而使得一个“撤销”按钮可以撤销各种不同的操作呢?关键在于两点:栈 和 多态。如何设计: 很容易想到使用栈来保持那些已经被执行的操作,当要撤销上一步操作时,只需要取出栈顶元素并执行该元素所对应的操作便可。 接踵而至的一个问题是: 栈中元素类型是什么? 由于我们需要保存各种不同的文本编辑操作,要将它们统一地保存在一起,很自然地,我们应该让这些操作有着统一的父类, 我们栈中元素的类型是该父类类型就可以了.... 阅读全文
posted @ 2012-12-20 21:39
BellingWP
阅读(237)
评论(0)
推荐(0)
摘要:
page1:View Code 1 using System; 2 using System.Collections.Generic; 3 using System.Linq; 4 using System.Net; 5 using System.Windows; 6 using System.Windows.Controls; 7 using System.Windows.Documents; 8 using System.Windows.Input; 9 using System.Windows.Media;10 using System.Windows.Media.Animation;. 阅读全文
posted @ 2012-12-20 20:23
BellingWP
阅读(328)
评论(0)
推荐(0)
摘要:
程序启动通常会有一个等待的过程,在这个过程中可以通过使用Popup控件配合BackgroundWorker类启动后台线程来实现。 控件的代码 PopupSplash.xaml UserControl x:Class =ProgressSplashScreen.PopupSplash xmlns =http://schemas.microsoft.com/winfx/2006/xaml/presentation xmlns:x =http://schemas.microsoft.com/winfx/ 程序启动通常会有一个等待的过程,在这个过程中可以通过使用Popup控件配合Backgroun.. 阅读全文
posted @ 2012-12-20 14:06
BellingWP
阅读(206)
评论(0)
推荐(0)

浙公网安备 33010602011771号