如何在skiashark笔划上创建一个onclick函数?我创建了一个包含多个路径的圆形图:
https://i.stack.imgur.com/ngiz6.jpg
例如绿线:
SKPaint paint4 = new SKPaint
{
Style = SKPaintStyle.Stroke,
IsAntialias = true,
Color = Color.FromHex("#5bd363").ToSKColor(), // Overlay Colour of Radial Gauge
StrokeWidth = progressUtils.getFactoredWidth(radialGaugeWidth + 15), // Overlay Width of Radial Gauge
StrokeCap = SKStrokeCap.Butt // Round Corners for Radial Gauge
};
SKPath path4 = new SKPath();
path4.AddArc(rect, (360 / 24) * 9.25f + 90, (float)sweepAngleSlider3.Value);
canvas.DrawPath(path4, paint4)
Run Code Online (Sandbox Code Playgroud)
我如何做到这一点,当你点击一个笔画,例如绿色笔画时,会发生什么?
当我将Xamarin表单更新为3.2.0或更高版本时,出现以下错误:
Error Position 68:29. Signature (return type) of EventHandler
"TimeToSport.Views.ItemsPage.OnCanvasViewPaintSurfaceAsync" doesn't match
the event type TimeToSport
E:\Xamarin Projects\TimeToSport_master\TimeToSport\TimeToSport\Views\Main\ItemsPage.xaml 68
Run Code Online (Sandbox Code Playgroud)
错误来自以下代码(xaml):
<skia:SKCanvasView x:Name="canvas"
PaintSurface="OnCanvasViewPaintSurfaceAsync"
Grid.Row="2"
/>
Run Code Online (Sandbox Code Playgroud)
在CS文件中:
SKCanvas canvas = surface.Canvas;
Run Code Online (Sandbox Code Playgroud)
当我使用Xamarin表单版本3.1.0时,我没有收到此错误,并且一切正常。但是,我必须为一些需要使用的新功能更新Xamarin表单。
如何解决此错误?
编辑:
OnCanvasViewPaintSurfaceAsync:
async Task OnCanvasViewPaintSurfaceAsync(object sender, SKPaintSurfaceEventArgs args1)
{
args = args1;
await drawGaugeAsync();
}
public async Task drawGaugeAsync()
{
// Radial Gauge Constants
int uPadding = 130;
int side = 370;
int radialGaugeWidth = 20;
// Line TextSize inside Radial Gauge
int lineSize1 = 220;
int lineSize2 …
Run Code Online (Sandbox Code Playgroud)