现在的位置: 首页 > 综合 > 正文

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

2012年12月08日 ⁄ 综合 ⁄ 共 1676字 ⁄ 字号 评论关闭

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

抱歉!评论已关闭.