如果您点击Outlook中屏幕的左侧,则会触发一个事件(在这种情况下会出现一个复选框)。
我想知道xaml是如何实现的。它不能是一个简单的“MouseLeftButtonUp”事件,因为如果你将手指拖动超过几个像素,那么事件就不会触发。
在我自己的应用程序中,我试图在列表框中显示一个包含SelectionChanged事件的图标。问题是,如果您没有精确地触摸小图标,那么您将触发列表框事件,而不是按下图像时我想要发生的事件。
我想我需要将我的图像包装在Canvas中,但我仍然不知道该事件应该是什么。
如何增加用户点击元素的区域的目标尺寸?
图像在具有SelectionChanged事件的列表框(在枢轴内)时应该具有什么事件? (MouseLeftButtonUp会导致问题,如果你半拖到下一个支点并抬起你的手指 - 它会触发MouseLeftButtonUp事件)
答案 0 :(得分:1)
outlook app是一个原生应用程序,因此可能根本就没有使用xaml。
如果您担心鼠标事件,那么您应该查看silverlight工具包中的手势内容,它包含点击等事件,使手机更有意义。
答案 1 :(得分:1)
我实现了一个非常类似于该行为的东西,通过使用一个项目模板,使用负边距将复选框从左侧推到屏幕左侧。 然后我创建了2个视觉状态,一个用于打开和关闭。打开状态将边距设置为0,使复选框返回到屏幕上。封闭状态有负余量。
随着流体移动行为,按下按钮时状态之间的切换很容易。您必须添加的唯一内容是左侧的隐形按钮/触摸区域,它还会触发“打开”复选框列(更改状态以重置边距)。
希望有帮助...
答案 2 :(得分:0)
增加目标尺寸并通常使东西可触摸:将其包裹在Button中,然后改变Button的ControlTemplate以移除边框。
如果您查看ControlTemplate的按钮,(Expression Blend,编辑模板,编辑副本),您将看到触摸区域的机制。它只不过是填充/边距。
因此,在不改变布局并影响控件周围的其他项目的情况下,您无法排出触摸区域。我会做两件事:
首先,我会考虑我的整体控制是否应该在第一个位置更大,并且周围有良好的间距。我的设计是对的吗?
第二,我作弊。我会使用Translate转换浮动一个固定大小的按钮,区域上没有边框,可以自由移动它。
路