silverlight
发布时间:2022-05-04 发布网站:大佬教程 code.js-code.com
大佬教程收集整理的这篇文章主要介绍了silverlight 2 事件变化,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
概述
在silverlight2中,事件的处理发生了些变化,类似button,togglebutton等控件的Mou
SELEftButtonDown,Mou
SELEftButtonUp等事件已经
在类的级别设置为已处理,因此这些类的实例不会再响应这两个事件,当然我们有时候依然要用到这两个事件,解决的方法也很简单。我们需要重载这些类的OnMou
SELEftButtonDown和OnMou
SELEftButt
在silverlight2中,事件的处理发生了些变化,类似button,togglebutton等控件的MouSELEftButtonDown,MouSELEftButtonUp等事件已经在类的级别设置为已处理,因此这些类的实例不会再响应这两个事件,当然我们有时候依然要用到这两个事件,解决的方法也很简单。我们需要重载这些类的OnMouSELEftButtonDown和OnMouSELEftButtonUp方法来设置已处理的标志为未处理就可以了。
-
public class ActivityControl : Button
- {
-
private bool _isMouseDown = false;
-
private Point _oldPoint;
-
public ActivityType ActivityType { get; set; }
-
public ActivityControl()
- {
-
this.MouSELEftButtonDown += new MouseButtonEventHandler(ActivityControl_MouSELEftButtonDown);
-
this.MouSELEftButtonUp += new MouseButtonEventHandler(ActivityControl_MouSELEftButtonUp);
-
this.MouseMove += new MouseEventHandler(ActivityControl_MouseMovE);
- }
-
protected override void OnMouSELEftButtonDown(MouseButtonEventArgs E)
- {
-
base.onMouSELEftButtonDown(E);
-
e.Handled = false;
- }
-
protected override void OnMouSELEftButtonUp(MouseButtonEventArgs E)
- {
-
base.onMouSELEftButtonUp(E);
-
e.Handled = false;
- }
-
void ActivityControl_MouseMove(object sender, MouseEventArgs E)
- {
-
if (_isMouseDown)
- {
-
Point p = e.GetPosition(null);
-
this.SETVALue(Canvas.LeftProperty, p.X - _oldPoint.X + (double)this.GetValue(Canvas.LeftProperty));
-
this.SETVALue(Canvas.TopProperty, p.Y - _oldPoint.Y + (double)this.GetValue(Canvas.TopProperty));
- _oldPoint = p;
- }
- }
-
void ActivityControl_MouSELEftButtonUp(object sender, MouseButtonEventArgs E)
- {
-
if (_isMouseDown)
- {
-
_isMouseDown = false;
-
this.ReleaseMouseCapture();
- }
- }
-
void ActivityControl_MouSELEftButtonDown(object sender, MouseButtonEventArgs E)
- {
-
_isMouseDown = true;
-
_oldPoint = e.GetPosition(null);
-
this.CaptureMouse();
- }
我们只需要简单加上@H_173_403@@H_505_404@e.Handled = false;这句代码就可激活这两个事件了。@H_173_403@
@H_505_404@silverlight2之所以有这个变化是为了和WPF保持一致。@H_173_403@
大佬总结
以上是大佬教程为你收集整理的silverlight 2 事件变化全部内容,希望文章能够帮你解决silverlight 2 事件变化所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。