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环境中调试通过。本文参照了部分网络资料,希望能够抛砖引玉,大家共同学习。
(转载本文请注明出处)

posted @ 2009-07-15 13:48  wsdj  阅读(2051)  评论(0编辑  收藏  举报