• 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/,转载请注明出处。
  • 相关阅读:
    JAXB基本使用
    Spring MVC手札
    Oracle创建表空间和表
    oracle删除表,让整个表从数据库中彻底消失
    oracle创建用户操作
    查看运行时某个java对象占用JVM大小及通过idea查看java的内存占用情况
    如何查看java进程
    win10下查看进程,杀死进程
    js计算两个时间相差天数
    windows 端口号占用和解决方法
  • 原文地址:https://www.cnblogs.com/wangergo/p/901597.html
Copyright © 2020-2023  润新知