解决MouseLeftButtonDown在Grid等布局中无法响应事件 - [Silverlight开发]
2011-08-10 14:00
585 查看
有些时候发现有些问题的解决方法是很简单的,只是在想问题时习惯了把它想得太过于复杂。这个小问题也困扰了自己一个多小时,然后,通过查询下资料,解决了这个问题。
问题:在用Sliverlight开发一个类WebOS性质的小项目,然后在桌面(一个Grid布局)中需要用鼠标进行拖拽实现多个桌面的切换,也就是说需要监听mouseleftbuttondown,mousemove,mouseleftbuttonup这个事件,并计算进行响应操作。
问题就出在,那个桌面是一个Grid容器,里面又放置StackPanel窗口,StackPanel容器里放置图片按钮,当我直接给那个外层的Grid设置一个MouseLeftButtonDown = "方法"时,点外面没有图标的地方时却响应不了事件;
解决方法:然后,问题的解决方法其实很简单的,只要把外层那个Grid的background设置一个值就可以的,例如可以设置一个Transparent,这个既不影响其他操作,也可以很方便的捕获事件。Problem Solved.
小DEMO:
可以看到上面的效果,其中第一个是没有设置background的,所以你只有点击到有textblock的地方才有反应,而右边的因为设置一个Transparent,所以就可以正常捕获事件,但我不是很明白为什么会这样,得研究下具体的原因才行。
问题:在用Sliverlight开发一个类WebOS性质的小项目,然后在桌面(一个Grid布局)中需要用鼠标进行拖拽实现多个桌面的切换,也就是说需要监听mouseleftbuttondown,mousemove,mouseleftbuttonup这个事件,并计算进行响应操作。
问题就出在,那个桌面是一个Grid容器,里面又放置StackPanel窗口,StackPanel容器里放置图片按钮,当我直接给那个外层的Grid设置一个MouseLeftButtonDown = "方法"时,点外面没有图标的地方时却响应不了事件;
解决方法:然后,问题的解决方法其实很简单的,只要把外层那个Grid的background设置一个值就可以的,例如可以设置一个Transparent,这个既不影响其他操作,也可以很方便的捕获事件。Problem Solved.
小DEMO:
可以看到上面的效果,其中第一个是没有设置background的,所以你只有点击到有textblock的地方才有反应,而右边的因为设置一个Transparent,所以就可以正常捕获事件,但我不是很明白为什么会这样,得研究下具体的原因才行。
相关文章推荐
- SilverLight学习笔记--如何解决Button不响应MouseLeftButtonDown与MouseLeftButtonUp事件的问题
- silverlight MouseLeftButtonDown事件总是无法触发
- 如何解决Button不响应MouseLeftButtonDown与MouseLeftButtonUp事件的问题
- silverlight中button无法触发MouseLeftButtonDown等事件
- silverlight MouseLeftButtonDown无法触发解决办法
- silverlight MouseLeftButtonDown事件无法触发
- silverlight MouseLeftButtonDown事件总是无法触发
- Button中 MouseLeftButtonDown和MouseLeftButtonUp 事件无法触发的解决方案 (转)
- 解决MouseLeftButtonDown与Click事件冲突
- wpf button的mouse(leftbutton)down/up,click事件不响应解决办法
- Button中MouseLeftButtonDown和MouseLeftButtonUp事件无法触发的解决方案
- wpf button的mouse(leftbutton)down/up,click事件不响应解决办法
- wpf button的mouse(leftbutton)down/up,click事件不响应解决办法
- MouseLeftButtonDown事件无法触发
- MouseLeftButtonDown事件无法触发
- (转)silverlight中button不响应mouseleftbuttondown的原因
- Silverlight Canvas 无法响应KeyDown事件解决办法
- 错误:“ResourceDictionary”根元素需要 x:Class 特性来支持 XAML 文件中的事件处理程序。请移除 MouseLeftButtonDown 事件的事件处理程序.
- Button中MouseLeftButtonDown和MouseLeftButtonUp事件无法触发的解决方案
- WPF InkCanvas MouseDown及MouseLeftButtonDown事件不触发的代替事件