我尝试实现检查鼠标是否在所有按钮两侧的方式,如果鼠标在左侧,则右侧如果用户进行特定操作,则在下图中用户超过按钮方1然后以箭头的方式移动到2侧,我的问题是如何检查用户使这个动作在动作上做出具体的动作
可以给出链接或位代码帮我做出来吗?
答案 0 :(得分:1)
你可以做这样的事情,鼠标进入和离开
<Canvas x:Name="Canvas" HorizontalAlignment="Left" VerticalAlignment="Top" Margin="0,9,6,0">
<Button Canvas.Top="0" Canvas.Left="0" x:Name="button" Width="100" MouseEnter="Butt_OnMouseEnter" Height="200"/>
</Canvas>
并在处理程序
中private void Butt_OnMouseEnter(object sender, MouseEventArgs e)
{
var position = e.GetPosition(Canvas);
}
现在这个位置与画布相符,因此会告诉你哪一侧鼠标输入或离开..
答案 1 :(得分:1)
应该是这样的:
protected Point TouchStart;
private void UIElement_OnMouseEnter(object sender, MouseEventArgs e)
{
TouchStart = e.GetPosition(this);
MyButton.Background = Brushes.Red;
}
private void UIElement_OnMouseLeave(object sender, MouseEventArgs e)
{
var touch = e.GetPosition(this);
if (touch.X >= (TouchStart.X + 99)) //button width here
{
MyButton.Background = Brushes.Aquamarine;
}
}
和XAML:
<Button Width="100" x:Name="MyButton" Height="30" MouseEnter="UIElement_OnMouseEnter" MouseLeave="UIElement_OnMouseLeave" >HoverMe</Button>