['vivid]生动的,鲜明的,鲜艳的,大胆的,清晰的,活泼的,逼真的

Let us cling together!

 

如何解决Button不响应MouseLeftButtonDown与MouseLeftButtonUp事件的问题

引用http://www.cnblogs.com/wsdj-ittech/archive/2009/07/15/1524112.html

在Silverlight 2和3 中的按钮不能响应MouseLeftButtonDown 和 MouseLeftButtonUp 事件,为解决此问题,我们可通过创建自定义按钮控件加以解决:

1. 在解决方案中添加Silverlight类库

2. 新建类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;
}

3. 在主模板中加入自定义按钮的引用:

xmlns:myButton="clr-namespace:MyButton;assembly=MyButton"

4. 然后这么添加Button:

<myButton:MyButton></myButton:MyButton>

这样Button就可以相应MouseLeftButtonDown 和 MouseLeftButtonUp 事件了。

ps:都3了还有这么弱智的bug,真不知道微软是怎么搞的,不知道4里面正不正常。

posted on 2010-05-22 20:26  文祥  阅读(1468)  评论(1编辑  收藏  举报

导航