摘要: 在文本编辑中经常使用到“撤销”操作(Ctrl-Z),以及一个与之相应的“重复”操作(Ctrl-Y),各种不同的编辑操作都可以使用这两个操作来撤销或重复,那么如此多的编辑操作是如何被设计到一起而使得一个“撤销”按钮可以撤销各种不同的操作呢?关键在于两点:栈 和 多态。如何设计: 很容易想到使用栈来保持那些已经被执行的操作,当要撤销上一步操作时,只需要取出栈顶元素并执行该元素所对应的操作便可。 接踵而至的一个问题是: 栈中元素类型是什么? 由于我们需要保存各种不同的文本编辑操作,要将它们统一地保存在一起,很自然地,我们应该让这些操作有着统一的父类, 我们栈中元素的类型是该父类类型就可以了.... 阅读全文
posted @ 2012-12-20 21:39 BellingWP 阅读(224) 评论(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 阅读(316) 评论(0) 推荐(0) 编辑
摘要: Windows Phone开发(12):认识一下独具个性的磁贴分类:个人文章2012-03-02 22:252843人阅读评论(18)收藏举报目录(?)[+]对“磁贴”的理解是一点也不抽象的,为什么呢?只要你愿意启动WP系统,无论你是在模拟器中还是在真机中,是的,桌面上那一块块像地板的玩意儿,就是磁贴了。(图:磁贴)在上图中,我们很直观地看到磁贴图块的“真”面目,呵呵,其实很明显,这个设计真的很有个性,老实说,WP刚推出的时候,很多人说它这个那个的,其实这些人只过是起起哄罢了。我是挺喜欢桌面上那一块块的图块的,这也是WP第一次给我留下的深刻印象,毕竟在安卓和IOS上,我们看到的都是传统手机的图 阅读全文
posted @ 2012-12-20 16:05 BellingWP 阅读(171) 评论(0) 推荐(0) 编辑
摘要: Windows Phone开发(10):常用控件(上)分类:个人文章2012-02-26 11:373467人阅读评论(3)收藏举报目录(?)[+]Windows Phone的控件有几个来源,和传统的桌面应用程序开发或Web开发一样,有默认提供的控件和第三方开者发布的控件。一般而言,如果不是过于复杂的界面布局,使用默认控件就足矣。相比之下,Android SDK中尽管提供了许多可视化控件,但你会发现,实际开发用到的并不多,而且很多控件完全只是摆设,既没有公开相应的操作方法也没有更多可用于开发者自行处理的监听器(这里我习惯翻译为监听器,在安卓里面没有像C#那样使用事件,而是new一个监听器,当然 阅读全文
posted @ 2012-12-20 16:03 BellingWP 阅读(161) 评论(0) 推荐(0) 编辑
摘要: Windows Phone开发(7):当好总舵主分类:个人文章2012-02-21 22:062884人阅读评论(12)收藏举报吹完了页面有关的话题,今天我们来聊一下页面之间是如何导航的,在更多情况下,我们的应用程序不会只有一个页面的,应该会有N个,就像我们做桌面应 用开发那样,我们一个应用程序中可能不止一个窗体(极简单的程序除外),我们要处理窗体之间的切换;同理地,在进行Web开发的时候,我们的Web应用程序可能也不止一个页面,我们要处理页面之间的切换。当然了,在我们的手机应用中,同样需要这种操作,我们称之为“导航”,作为开发者,我们全盘操控页面之间的切换,所以说,我们也当了App的“总舵主 阅读全文
posted @ 2012-12-20 16:03 BellingWP 阅读(100) 评论(0) 推荐(0) 编辑
摘要: Windows Phone开发(5):室内装修分类:个人文章2012-02-17 21:075745人阅读评论(12)收藏举报为什么叫室内装修呢?呵呵,其实说的是布局,具体些嘛,就是在一个页面中,你如何去摆放你的控件,如何管理它们,你说,像不像我们刚搬进新住所,要“装修”一番?买一套什么样的茶几和杯具(我说的“杯具”指的是原意,不要理解错了),或者沙发什么的,该怎么放,摆在哪里好看,其实,我们做界面设计也是差不多这个道理。相信我们下过象棋就知道,棋盘上有横向的,纵向的很多网格线,而棋子就是参照这些网格线来放置的,对,在WP页面布局中我们把这样的布局称为网格布局,对应的控件为Grid。千万别小看 阅读全文
posted @ 2012-12-20 16:02 BellingWP 阅读(159) 评论(0) 推荐(0) 编辑
摘要: 《用 this.NavigationService.GoBack();退回去状态是能保持的,用this.NavigationService.Navigate(new Uri("/MainPage.xaml", UriKind.Relative));重新跳转回去是无法保持状态的,这个跟web开发中的history.bak()效果类似。》按照一般做法,刚学会如何导航,还是不够的,因为要知道,手机里面的每个页面,就如同Web页面一样,是无状态的。啥是无状态?如果我们玩过Web开发就明白了,当你在当前页面输入一些内容,然后退回到前一页面,再前进到该页面,就会发现,之前输入的内容可能 阅读全文
posted @ 2012-12-20 16:00 BellingWP 阅读(113) 评论(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 阅读(199) 评论(0) 推荐(0) 编辑