如何解决如何将“ .Tapped + =异步s,e=> {....”直接添加到新的TapGestureRecognizer;中?
这是我拥有的代码:
TapGestureRecognizer tap1 = new TapGestureRecognizer()
.Bind(TapGestureRecognizer.CommandProperty,nameof(TapCommand),source: this)
.Bind(TapGestureRecognizer.CommandParameterProperty,nameof(TapCommandParam),source: this);
GestureRecognizers.Add(tap1);
TapGestureRecognizer tap2 = new TapGestureRecognizer();
tap2.Tapped += async (s,e) => {
this.SetDynamicResource(BackgroundColorProperty,"GridTappedColor");
await Task.Delay(500);
this.BackgroundColor = Color.Default;
};
GestureRecognizers.Add(tap2);
.Tapped += async (s,e) => {. ....
直接为此:
tap2 = new TapGestureRecognizer()
类似这样的东西:
TapGestureRecognizer tap2 = new TapGestureRecognizer().Tapped()
解决方法
基本思想是拥有一个扩展名,该扩展名使您可以对商品进行处理并返回相同的商品。
public static class TapGestureRecognizerExtensions {
public static TapGestureRecognizer BindAction(
this TapGestureRecognizer recognizer,Action<TapGestureRecognizer> action ) {
action(recognizer);
return recognizer;
}
}
...
TapGestureRecognizer tap2 =
new TapGestureRecognizer().BindAction(
t =>
t.Tapped += async (s,e) => {
this.SetDynamicResource(BackgroundColorProperty,"GridTappedColor");
await Task.Delay(500);
this.BackgroundColor = Color.Default;
};
);
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。