WEB开发网
开发学院图形图像Flash My Silverlight系列(6)—— c#版本的slilverlig... 阅读

My Silverlight系列(6)—— c#版本的slilverlight.net官网导般栏

 2009-04-25 12:04:45 来源:WEB开发网   
核心提示: a.设计一个矩形,用以显示示意图片,My Silverlight系列(6)—— c#版本的slilverlight.net官网导般栏(4),还有一个TextBlock用以显示描述的文字b.设计两个动画,一个是消失的,我就让那个线程开始运行并且无限循环,当用户失去对导航的控制的时候,一个是出

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        }

上一页  1 2 3 4 5  下一页

Tags:My Silverlight 系列

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接