My Silverlight系列(6)—— c#版本的slilverlight.net官网导般栏
2009-04-25 12:04:45 来源:WEB开发网a.设计一个矩形,用以显示示意图片,还有一个TextBlock用以显示描述的文字
b.设计两个动画,一个是消失的,一个是出现的,为了展示淡入淡出的效果,应用的是很常用的针对透明度的渐变动画
以上五个步骤之后,xaml搞一段落,下面就要在Behind Code上下功夫了。
说起来后台的事件响应代码,并不是多么的复杂,无非是为每个Canvas的MouseEnter、MouseLeave和MouseLeftButtonDown编写处理函数,不过有一个地方,是稍微有一点技术含量的。这是因为在silverlight官网那个导航的设计上,有一个当用户不操作时,自动切换当前选中的导航并且显示description的机制,因此为了模拟这个,我用到了多线程。
在初始化的时候,我就让那个线程开始运行并且无限循环,当用户失去对导航的控制的时候,它就将每隔一定的时间自动切换导航。
线程的处理委托如下:
1 private void AutoGetFocus(object o)
2 {
3 while (true)
4 {
5 if (!humanControl)
6 {
7 Dispatcher.BeginInvoke(delegate
8 {
9 if (Choice[(Selecting + 1) % 6] == Selected)
10 {
11 Selecting = Choice[(Selecting + 2) % 6];
12 }
13 else
14 {
15 Selecting = Choice[(Selecting + 1) % 6];
16 }
17 });
18 }
19 Thread.Sleep(4000);
20 }
21 }
Tags:My Silverlight 系列
编辑录入:爽爽 [复制链接] [打 印]更多精彩
赞助商链接