silverlight的Button控件补完设计--silverlight(银光)学习2

第一篇文章里设计了一个Button按钮,比较让人遗憾的是不能显示中文,这个涉及到字体版权问题。我想微软也怕像"暴雪"公司的WOW被"方正"告侵权一样。网上有几种解决方案,有下载字体的,有在WORD里设计字体的。这个不在我讨论的范围内,我只想把Button 加上点击事件就行了。至于支持中文的问题,我想等正式版发布了早就解决了。
  
   在asp.net里按钮都有Click事件,那么在xaml界面里,怎么触发鼠标点击事件呢?其实在xaml里正对鼠标有

    MouseEnter           MouseLeave           MouseLeftButtonDown          MouseLeftButtonUp  事件

   我们在鼠标的MouseLeftButtonUp  事件触发的时候就调用我们自己写的事件就可以实现鼠标左键点击事件了。
  
   代码片段如下:


        
public   event  EventHandler Click;


        
//  触发点击事件

         protected   void  RaiseClick()

        
{

            
if (Click != null)

            
{

                Click(
thisnull);

            }

        }

  

  
void  actControl_MouseLeftButtonUp( object  sender, MouseEventArgs e)

        
{

            ReleaseMouseCapture();

            RaiseClick();

        }

 这样我们就给按钮控件加上Click事件。
 
我们回到上一篇给出的wowmovie项目,在page.xmal.cs里面加上如下代码:

        public   void  Page_Loaded( object  o, EventArgs e)

        
{

            
double top = 100;

            

            
double left = 20;


            ButtonControl txtBox 
= new ButtonControl();


            txtBox.ButtonText 
= "Hello!";


            txtBox.SetValue
<double>(Canvas.TopProperty, top);


            txtBox.SetValue
<double>(Canvas.LeftProperty, left);


            txtBox.Click 
+= new EventHandler(txtBox_Click);


            
this.Children.Add(txtBox);


  }


        
void  txtBox_Click( object  sender, EventArgs e)

        
{

            SilverControls.txtBoxControl bt 
= sender as SilverControls.txtBoxControl ;


            bt.ButtonText 
= "You Click Me";

        }


效果如下:

 点击之后变成

这个样子。

 

本文版权属于www.80back.com,williams所有,转载请注明出处。 

相关文章

如何在Silverlight4(XAML)中绑定IsEnabled属性?我试过简单的...
我正在编写我的第一个vb.net应用程序(但我也会在这里标记c#,...
ProcessFile()是在UIThread上运行还是在单独的线程上运行.如...
我从同行那里听说,对sharepoint的了解对职业生涯有益.我们不...
我正在尝试保存一个类我的类对象的集合.我收到一个错误说明:...
我需要根据Silverlight中的某些配置值设置给定控件的Style.我...