silverlight   发布时间:2022-05-04  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了设计一个silverlight的Button控件--silverlight(银光)学习(1)大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

概述

在 www.silverlight.net上看到了制作一个silverlight 控件的视频,遗憾的是视频里没有讲怎么设计这个控件。于是追踪到作者的blog里下载到了他的代码,结果发现他的控件代码写得不完美。如果文字过长就会超出控件的边框。于是重新设计了下。      效果如下:            在讲怎么设计这个控件前,我把这个silverlight控件和asp.net里用户自定义控件做下类
www.silverlight.net上看到了制作一个silverlight 控件的视频,遗憾的是视频里没有讲怎么设计这个控件。于是追踪到作者的blog里下载到了他的代码,结果发现他的控件代码写得不完美。如果文字过长就会超出控件的边框。于是重新设计了下。 @H_772_18@     效果如下: @H_772_18@     

设计一个silverlight的Button控件--silverlight(银光)学习(1)

@H_772_18@     在讲怎么设计这个控件前,我把这个silverlight控件和asp.net里用户自定义控件做下类比. @H_772_18@userControl.ascx文件用户自定义控件的皮肤文件后台逻辑代码写在.cs里。而 silverlight控件的皮肤文件是.xaml文件后台逻辑代码可以用.js文件,也可以用.cs 文件。 @H_772_18@    @H_772_18@    废话不多说了,我们动手设计吧。首先建立一个silverlight 类库项目: @H_772_18@ 

设计一个silverlight的Button控件--silverlight(银光)学习(1)

@H_772_18@@H_772_18@ 项目建好后,删除里面认的一个Class1.cs文件添加一个silverlight控件。 @H_772_18@

设计一个silverlight的Button控件--silverlight(银光)学习(1)

@H_772_18@@H_772_18@然后把下列代码粘贴到.xaml文件里。 @H_772_18@

设计一个silverlight的Button控件--silverlight(银光)学习(1)

xaml代码
@H_772_18@这段代码在vs2008里直接看不到效果,用blend2可以看到效果。 @H_772_18@

设计一个silverlight的Button控件--silverlight(银光)学习(1)

@H_772_18@@H_772_18@ 熟悉"Flash"设计的朋友会发现这个界面是有几个层组成的,包括了黑色的底色,白色的边框层,还有玻璃效果的一层,还有个文本层,还有一起上下分割两个色彩的层。 @H_772_18@@H_772_18@ 后台的核心逻辑代码如下: @H_772_18@   

设计一个silverlight的Button控件--silverlight(银光)学习(1)

   @H_607_2022@/// @H_607_2022@<sumMary>@H_772_18@

设计一个silverlight的Button控件--silverlight(银光)学习(1)

        
@H_607_2022@/// 根据文本的长度,重新绘制控件的大小@H_772_18@

设计一个silverlight的Button控件--silverlight(银光)学习(1)

        
@H_607_2022@/// @H_607_2022@</sumMary> @H_772_18@

设计一个silverlight的Button控件--silverlight(银光)学习(1)

         private   void  resizeControl()@H_772_18@

设计一个silverlight的Button控件--silverlight(银光)学习(1)

        
{@H_772_18@

设计一个silverlight的Button控件--silverlight(银光)学习(1)

            
double left;@H_772_18@

设计一个silverlight的Button控件--silverlight(银光)学习(1)

            
double top;@H_772_18@

设计一个silverlight的Button控件--silverlight(银光)学习(1)

            textBlock tb 
= actControl.FindName("GlassButtontext"as textBlock;@H_772_18@

设计一个silverlight的Button控件--silverlight(银光)学习(1)

            tb.Text 
= txtbutton;@H_772_18@

设计一个silverlight的Button控件--silverlight(银光)学习(1)

            
if (autoSizE)//如果控件的长度根据文本的长度自动调整@H_772_18@

设计一个silverlight的Button控件--silverlight(银光)学习(1)

            {@H_772_18@

设计一个silverlight的Button控件--silverlight(银光)学习(1)

                actControl.Height 
= tb.ActualHeight + 8 ;@H_772_18@

设计一个silverlight的Button控件--silverlight(银光)学习(1)

@H_772_18@

设计一个silverlight的Button控件--silverlight(银光)学习(1)

                actControl.Width 
= tb.ActualWidth + 16;@H_772_18@

设计一个silverlight的Button控件--silverlight(银光)学习(1)

@H_772_18@

设计一个silverlight的Button控件--silverlight(银光)学习(1)

                OuterBorder.Width 
= tb.ActualWidth + 20;@H_772_18@

设计一个silverlight的Button控件--silverlight(银光)学习(1)

@H_772_18@

设计一个silverlight的Button控件--silverlight(银光)学习(1)

                OuterBorder.Height 
= tb.ActualHeight + 10;@H_772_18@

设计一个silverlight的Button控件--silverlight(银光)学习(1)

@H_772_18@

设计一个silverlight的Button控件--silverlight(银光)学习(1)

                InnerBorder.Width 
= tb.ActualWidth + 16;@H_772_18@

设计一个silverlight的Button控件--silverlight(银光)学习(1)

@H_772_18@

设计一个silverlight的Button控件--silverlight(银光)学习(1)

                InnerBorder.Height 
= tb.ActualHeight + 8;@H_772_18@

设计一个silverlight的Button控件--silverlight(银光)学习(1)

@H_772_18@

设计一个silverlight的Button控件--silverlight(银光)学习(1)

                GlassButtonGlowEffect.Width 
= tb.ActualWidth + 16;@H_772_18@

设计一个silverlight的Button控件--silverlight(银光)学习(1)

@H_772_18@

设计一个silverlight的Button控件--silverlight(银光)学习(1)

                GlassButtonGlowEffect.Height 
= tb.ActualHeight + 8;@H_772_18@

设计一个silverlight的Button控件--silverlight(银光)学习(1)

@H_772_18@

设计一个silverlight的Button控件--silverlight(银光)学习(1)

                ButtonReflex.Width 
= tb.ActualWidth + 16;@H_772_18@

设计一个silverlight的Button控件--silverlight(银光)学习(1)

@H_772_18@

设计一个silverlight的Button控件--silverlight(银光)学习(1)

                ButtonReflex.Height 
= tb.ActualHeight + 8;@H_772_18@

设计一个silverlight的Button控件--silverlight(银光)学习(1)

@H_772_18@

设计一个silverlight的Button控件--silverlight(银光)学习(1)

                reflexClip.Rect 
= new rect(new Point(00), new Point(tb.ActualWidth + 16, (tb.ActualHeight + 8)/2));@H_772_18@

设计一个silverlight的Button控件--silverlight(银光)学习(1)

@H_772_18@

设计一个silverlight的Button控件--silverlight(银光)学习(1)

             @H_772_18@

设计一个silverlight的Button控件--silverlight(银光)学习(1)

            }
@H_772_18@

设计一个silverlight的Button控件--silverlight(银光)学习(1)

            
else//根据传入的参数设定控件的长度@H_772_18@

设计一个silverlight的Button控件--silverlight(银光)学习(1)

            {@H_772_18@

设计一个silverlight的Button控件--silverlight(银光)学习(1)

@H_772_18@

设计一个silverlight的Button控件--silverlight(银光)学习(1)

                actControl.Height 
= this.Height;@H_772_18@

设计一个silverlight的Button控件--silverlight(银光)学习(1)

@H_772_18@

设计一个silverlight的Button控件--silverlight(银光)学习(1)

                actControl.Width 
= this.Width;@H_772_18@

设计一个silverlight的Button控件--silverlight(银光)学习(1)

            @H_772_18@

设计一个silverlight的Button控件--silverlight(银光)学习(1)

            }
@H_772_18@

设计一个silverlight的Button控件--silverlight(银光)学习(1)

            left 
= (actControl.Width - tb.ActualWidth) / 2;@H_772_18@

设计一个silverlight的Button控件--silverlight(银光)学习(1)

@H_772_18@

设计一个silverlight的Button控件--silverlight(银光)学习(1)

            top 
= (actControl.Height - tb.ActualHeight) / 2;@H_772_18@

设计一个silverlight的Button控件--silverlight(银光)学习(1)

@H_772_18@

设计一个silverlight的Button控件--silverlight(银光)学习(1)

            tb.SETVALue
<double>(Canvas.TopProperty, top);//设定文本在绘制面板中的坐标,也就是要使其在控件的中间位置。@H_772_18@

设计一个silverlight的Button控件--silverlight(银光)学习(1)

@H_772_18@

设计一个silverlight的Button控件--silverlight(银光)学习(1)

            tb.SETVALue
<double>(Canvas.LeftProperty, left);@H_772_18@

设计一个silverlight的Button控件--silverlight(银光)学习(1)

        @H_772_18@

设计一个silverlight的Button控件--silverlight(银光)学习(1)

        @H_772_18@

设计一个silverlight的Button控件--silverlight(银光)学习(1)

        }
@H_772_18@

设计一个silverlight的Button控件--silverlight(银光)学习(1)

@H_772_18@  这样一个控件就设计好了,那么如果使用这个控件呢? @H_772_18@ 我们再添加一个 silverlight Project 。 @H_772_18@ 

@H_439_2404@

@H_772_18@ 我们在这个项目添加上先前建的控件库项目的引用。 @H_772_18@ 然后打开page.xaml文件对应的后台文件page.xaml.cs文件,在page_loaded事件里 @H_772_18@ 加上如下代码: @H_772_18@ 
 1

设计一个silverlight的Button控件--silverlight(银光)学习(1)

  double  top  =   100 ;@H_772_18@  2

设计一个silverlight的Button控件--silverlight(银光)学习(1)

            @H_772_18@
 3

设计一个silverlight的Button控件--silverlight(银光)学习(1)

            
double  left  =   20 ;@H_772_18@  4

设计一个silverlight的Button控件--silverlight(银光)学习(1)

@H_772_18@
 5

设计一个silverlight的Button控件--silverlight(银光)学习(1)

            SilverControls.txtBoxControl txtBox 
=   new  SilverControls.txtBoxControl();@H_772_18@  6

设计一个silverlight的Button控件--silverlight(银光)学习(1)

@H_772_18@
 7

设计一个silverlight的Button控件--silverlight(银光)学习(1)

            txtBox.buttontex
=   " Hello! " ;@H_772_18@  8

设计一个silverlight的Button控件--silverlight(银光)学习(1)

@H_772_18@
 9

设计一个silverlight的Button控件--silverlight(银光)学习(1)

            txtBox.SETVALue
< double > (Canvas.TopProperty, top);@H_772_18@ 10

设计一个silverlight的Button控件--silverlight(银光)学习(1)

@H_772_18@
11

设计一个silverlight的Button控件--silverlight(银光)学习(1)

            txtBox.SETVALue
< double > (Canvas.LeftProperty, left);@H_772_18@ 12

设计一个silverlight的Button控件--silverlight(银光)学习(1)

@H_772_18@
13

设计一个silverlight的Button控件--silverlight(银光)学习(1)

            
this .Children.Add(txtBox);@H_772_18@ 14

设计一个silverlight的Button控件--silverlight(银光)学习(1)

@H_772_18@然后保存,在浏览器里查看textpage.html页面就可以了。@H_772_18@源代码如下:@H_772_18@/Files/wangergo/silverlightControlSample.rar

 www.80back.com版权所有,转载请著名出处。 

大佬总结

以上是大佬教程为你收集整理的设计一个silverlight的Button控件--silverlight(银光)学习(1)全部内容,希望文章能够帮你解决设计一个silverlight的Button控件--silverlight(银光)学习(1)所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。