有人知道如何在skiasharp.views.uwp namespace中使用skxamlcanvas?
我发现了有关SkiaSharp.Views.Forms和SkCanvasView的信息。
在官方网站中,我们有https://developer.xamarin.com/api/namespace/skiasharp.views.uwp/
,但Nuget对UWP一无所知。nuget仅包含表格的软件包。
在GitHub上的Skiasharp存储库中查看UWP样本。
他们使用的是Canvas
:
<Page
x:Class="SkiaSharpSample.MainPage"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:local="using:SkiaSharpSample"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:skia="using:SkiaSharp.Views.UWP"
mc:Ignorable="d">
<Grid Background="{ThemeResource ApplicationPageBackgroundThemeBrush}">
<skia:SKXamlCanvas PaintSurface="OnPaintSurface" />
</Grid>
</Page>
这里重要的是使用xmlns
属性导入SkiaSharp.Views.UWP
名称空间,以便您可以在XAML中使用它。
将SkiaSharp.Views
Nuget软件包安装到UWP项目后,该名称空间本身应可用。请注意,您只能从UWP项目而不是共享类库中访问SKXamlCanvas
。
如果您使用skiasharp.forms,情况有些不同。您不直接使用SKXamlCanvas
。相反,该库在共享库中使用SkiaSharp.Views.Forms.SKCanvasView
,然后使用Xamarin.Forms自定义渲染器将此视图渲染为UWP上的SKXamlCanvas
(请参见此处的源代码(。基本上,您不必直接使用SKXamlCanvas
并改用SKCanvasView
。