• 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)
            
    {
                ButtonControl bt 
    = sender as ButtonControl;

                bt.ButtonText 
    = "You Click Me";
            }

    效果如下:
     点击之后变成这个样子。
       本文版权属于王传炜所有,首发http://www.cnblogs.com/,转载请注明出处。
  • 相关阅读:
    Vue基础
    ES6之promise
    第13次作业--邮箱的正则表达式
    第12次作业--你的生日
    第11次作业--字符串处理
    第10次作业
    Java找回感觉的练习
    第四次博客作业-结对项目
    第9次作业--接口及接口回调
    深入面向对象——继承
  • 原文地址:https://www.cnblogs.com/wangergo/p/901597.html
Copyright © 2020-2023  润新知