C# 在XAML(XamarinForms)中,我使用什么事件来触发鼠标向下之类的事件
我希望能够在用户像鼠标一样向下移动时触发事件 网格。(就像用户点击网格而不是点击的视觉反馈!) 我有这个XAML代码:C# 在XAML(XamarinForms)中,我使用什么事件来触发鼠标向下之类的事件,c#,xaml,xamarin,xamarin.forms,C#,Xaml,Xamarin,Xamarin.forms,我希望能够在用户像鼠标一样向下移动时触发事件 网格。(就像用户点击网格而不是点击的视觉反馈!) 我有这个XAML代码: <Grid.Triggers> <EventTrigger Event="MouseDown"> <local:MouseOver/> </EventTrigger> </Grid.Triggers> 这在c#类中: public类鼠标悬停:TriggerAction { 受保护
<Grid.Triggers>
<EventTrigger Event="MouseDown">
<local:MouseOver/>
</EventTrigger>
</Grid.Triggers>
这在c#类中:
public类鼠标悬停:TriggerAction
{
受保护的异步重写无效调用(条目)
{
//这里有一些动画代码
}
}
好吧,我永远都不能参加这个活动,即使这个类的实现是正确的!我还尝试将“IsMouseOver”
和“MouseEnter”
作为事件,但这些似乎都不起作用。
我希望这里有人能帮我。。。
谢谢你的帮助
EventTrigger
仅适用于网格
类(或其超类之一)上存在的事件。在XForms中没有任何鼠标事件,因为它主要是为触摸界面设计的
要将点击处理添加到控件中,XForms可以通过将TapGestureRecognizer
添加到控件上的GestureRecognizers
集合来完成
// In C#
var tapGestureRecognizer = new TapGestureRecognizer();
tapGestureRecognizer.Tapped += (s, e) => {
// handle the tap
};
image.GestureRecognizers.Add(tapGestureRecognizer);
// In XAML
<Grid Source="tapped.jpg">
<Grid.GestureRecognizers>
<TapGestureRecognizer
Tapped="OnTapGestureRecognizerTapped"
NumberOfTapsRequired="2" />
</Grid.GestureRecognizers>
</Grid>
//在C中#
var tapGestureRecognizer=新的tapGestureRecognizer();
轻触+=(s,e)=>{
//打开水龙头
};
image.gestureignizers.Add(点击gestureignizer);
//在XAML中
您可以在.中阅读,但在XForms中“点击”与“点击”不一样吗?是的。现在有一种方法可以获取事件,当用户只将手指放在上面而不离开时?不支持开箱即用的按住手势。我知道这是一个流行的解决方案。如果没有,你必须创建一个自定义的渲染器并实现一个保持侦听器。嗨@Cambaru,你能找到答案吗。我也遇到了同样的情况,我需要使用xamarin.forms为WPF实现鼠标事件。
// In C#
var tapGestureRecognizer = new TapGestureRecognizer();
tapGestureRecognizer.Tapped += (s, e) => {
// handle the tap
};
image.GestureRecognizers.Add(tapGestureRecognizer);
// In XAML
<Grid Source="tapped.jpg">
<Grid.GestureRecognizers>
<TapGestureRecognizer
Tapped="OnTapGestureRecognizerTapped"
NumberOfTapsRequired="2" />
</Grid.GestureRecognizers>
</Grid>