# Liyanjie.Blazor.Gestures
Blazor手势识别
- #### GestureRecognizer
声明手势识别器,用于识别手势
- Usage
```razor
<div class="gesturearea"
@onpointerdown=@(e=>gestureRecognizer?.PointerDown(e)) @onpointerdown:preventDefault @onpointerdown:stopPropagation
@onpointermove=@(e=>gestureRecognizer?.PointerMove(e)) @onpointermove:preventDefault @onpointermove:stopPropagation
@onpointerup=@(e=>gestureRecognizer?.PointerUp(e)) @onpointerup:preventDefault @onpointerup:stopPropagation
@onpointerleave=@(e=>gestureRecognizer?.PointerLeave(e)) @onpointerleave:preventDefault @onpointerleave:stopPropagation>
</div>
<GestureRecognizer @ref=@(gestureRecognizer)
EdgeDistance="default 75" //识别为边缘的距离(GestureEventArgs.StartEdge(width,height))
Enable="default true">
//Recognizers here
</GestureRecognizer>
@code{
GestureRecognizer? gestureRecognizer;
}
```
- Also
```razor
<GestureArea class="gesturearea"
EdgeDistance="default 75" //识别为边缘的距离(GestureEventArgs.StartEdge(width,height))
Enable="default true"
PreventDefault="default true"
StopPropagation="default true">
<ChildContent>
//ChildContent here
</ChildContent>
<Recognizers>
//Recognizers here
</Recognizers>
</GestureArea>
```
- #### LongPressGestureRecognizer
- Usage
```razor
<GestureRecognizer>
<LongPressGestureRecognizer MinDuration="default 500" //识别为LongPress的最小millionseconds
MaxDistance="default 10" //识别为Tap的最大pointermove distance
OnLongPress="callback" />
</GestureRecognizer>
```
- #### PanGestureRecognizer
- Usage
```razor
<GestureRecognizer>
<PanGestureRecognizer OnPan="callback"
OnPanEnd="callback" />
</GestureRecognizer>
```
- #### PinchGestureRecognizer
- Usage
```razor
<GestureRecognizer>
<PinchGestureRecognizer MinScale="default 0" //触发PinchIn、PinchOut的最小scale
OnPinch="callback"
OnPinchEnd="callback"
OnPinchIn="callback"
OnPinchOut="callback" />
</GestureRecognizer>
```
- #### RotateGestureRecognizer
- Usage
```razor
<GestureRecognizer>
<RotateGestureRecognizer MinAngle="default 10" //触发RotateCW、RotateCCW的最小angle
OnRotate="callback"
OnRotateEnd="callback"
OnRotateCW="callback"
OnRotateCCW="callback" />
</GestureRecognizer>
```
- #### SwipeGestureRecognizer
- Usage
```razor
<GestureRecognizer>
<SwipeGestureRecognizer Direction="default GestureDirection.Horizontal" //可以组合:Up|Down==Vertical or Left|Right == Horizontal or Up|Down|Left|Right == Horizontal|Vertical
MaxDuration="default 300" //识别SwipeUp、SwipeDown、SwipeLeft、SwipeRight的最大millionseconds
MinDistance="default 20" //识别SwipeUp、SwipeDown、SwipeLeft、SwipeRight的最大pointermove distance
OnSwipe="callback"
OnSwipeEnd="callback"
OnSwipeUp="callback"
OnSwipeDown="callback"
OnSwipeLeft="callback"
OnSwipeRight="callback" />
</GestureRecognizer>
```
- #### TapGestureRecognizer
- Usage
```razor
<GestureRecognizer>
<TapGestureRecognizer MaxDuration="default 200" //识别DoubleTap的最大millionseconds
MaxDistance="default 10" //识别为Tap的最大pointermove distance
OnTap="callback"
AllowDoubleTap="default true"
MaxDoubleTapDistance="default 20" //识别为DoubleTap的最大pointermove distance
OnDoubleTap="callback" />
</GestureRecognizer>
```
- #### 自定义手势识别
```csharp
public class CustomGestureRecognizer : ComponentBase
{
//Parent GestureRecognizer node
[CascadingParameter] GestureRecognizer? GestureRecognizer { get; set; }
protected override void OnInitialized()
{
base.OnInitialized();
if (GestureRecognizer is not null)
{
GestureRecognizer.GestureStart += GestureStart;
GestureRecognizer.GestureMove += GestureMove;
GestureRecognizer.GestureEnd += GestureEnd;
GestureRecognizer.GestureLeave += GestureLeave;
}
}
void GestureStart(object? sender, GestureEventArgs e)
{
//Code here
}
void GestureMove(object? sender, GestureEventArgs e)
{
//Code here
}
void GestureEnd(object? sender, GestureEventArgs e)
{
//Code here
}
void GestureLeave(object? sender, GestureEventArgs e)
{
//Code here
}
}
```
没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论
收起资源包目录
Blazor手势识别.zip (46个子文件)
open_weishoushishibie
Directory.Build.props 91B
.gitattributes 2KB
src
Liyanjie.Blazor.Gestures
Components
PanGestureRecognizer.cs 1KB
SwipeGestureRecognizer.cs 3KB
TapGestureRecognizer.cs 2KB
LongPressGestureRecognizer.cs 2KB
GestureArea.razor 1KB
_Imports.razor 73B
PinchGestureRecognizer.cs 3KB
RotateGestureRecognizer.cs 3KB
GestureRecognizer.razor 2KB
Extensions.cs 713B
Liyanjie.Blazor.Gestures.csproj 1KB
GestureEdge.cs 782B
Usings.cs 197B
GestureDirection.cs 571B
EventArgs
SwipeGestureEventArgs.cs 406B
LongPressGestureEventArgs.cs 415B
RotateGestureEventArgs.cs 501B
PinchGestureEventArgs.cs 492B
PanGestureEventArgs.cs 402B
GestureEventArgs.cs 4KB
TapGestureEventArgs.cs 403B
sample
Liyanjie.Blazor.Gestures.Sample.Client
Routes.razor 150B
Liyanjie.Blazor.Gestures.Sample.Client.csproj 717B
_Imports.razor 205B
Program.cs 93B
Usings.cs 70B
Pages
Test1.razor 4KB
Test2.razor 4KB
Liyanjie.Blazor.Gestures.Sample
wwwroot
favicon.ico 5KB
Components
_Imports.razor 92B
App.razor 1KB
appsettings.Development.json 145B
Properties
launchSettings.json 772B
Program.cs 458B
Liyanjie.Blazor.Gestures.Sample.csproj 695B
Usings.cs 61B
appsettings.json 142B
LICENSE 1KB
BlazorGestures.sln 3KB
Directory.Packages.props 848B
.gitignore 6KB
Push.bat 157B
liyanjie.net.256.png 4KB
README.md 5KB
共 46 条
- 1
资源评论
极致人生-010
- 粉丝: 2976
- 资源: 2825
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功