SilverLight学习笔记--如何在Silverlight中创建自定义Button控件

一:创建Silverlight2 类库项目

 启动VS2008,选择新建项目,创建Silverlight2 类库项目,然后我们添加一个控件类,输入新的项目名:MyButton。此类可以继承自Control类,也可以继承自其他类比如ContentControl,ItemControl。我们继承自Button,代码如下:


 

using  System;
using  System.Net;
using  System.Windows;
using  System.Windows.Controls;
using  System.Windows.Documents;
using  System.Windows.Ink;
using  System.Windows.Input;
using  System.Windows.Media;
using  System.Windows.Media.Animation;
using  System.Windows.Shapes;

namespace  MyButton
{
    
public   class  MyButton :Button
    {
     }
}

二、对此类添加事件处理

 

        protected   override   void  OnMouseLeftButtonDown(MouseButtonEventArgs e)
        {

            
base .OnMouseLeftButtonDown(e);

            e.Handled 
=   false ;

        }



        
protected   override   void  OnMouseLeftButtonUp(MouseButtonEventArgs e)
        {

            
base .OnMouseLeftButtonUp(e);

            e.Handled 
=   false ;

        }

   完整代码如下:

 

using  System;
using  System.Net;
using  System.Windows;
using  System.Windows.Controls;
using  System.Windows.Documents;
using  System.Windows.Ink;
using  System.Windows.Input;
using  System.Windows.Media;
using  System.Windows.Media.Animation;
using  System.Windows.Shapes;

namespace  MyButton
{
    
public   class  MyButton :Button
    {
        
protected   override   void  OnMouseLeftButtonDown(MouseButtonEventArgs e)
        {

            
base .OnMouseLeftButtonDown(e);

            e.Handled 
=   false ;

        }



        
protected   override   void  OnMouseLeftButtonUp(MouseButtonEventArgs e)
        {

            
base .OnMouseLeftButtonUp(e);

            e.Handled 
=   false ;

        }


    }
}

 

三、编译并生成项目即可,如何引入和应用此自定义按钮,参见:" SilverLigth学习笔记--如何解决Button不响应MouseLeftButtonDown与MouseLeftButtonUp事件的问题" 一文
前往:Silverlight学习笔记清单
本文程序在Silverlight2.0和VS2008环境中调试通过。本文参照了部分网络资料,希望能够抛砖引玉,大家共同学习。
(转载本文请注明出处)

你可能感兴趣的:(silverlight)