微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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所有,转载请注明出处。 

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐