我想为 Windows Phone 实现我自己的控件。问题是,我想自己绘制它 - 在常规 WPF 中,我只需重写OnRender
方法并提供我自己的实现。OnRender
但是, Windows Phone 上没有可用的方法。我还有什么其他选择?
在我的情况下不能接受的是:
- 在背景中绘制位图并显示它
- 使用矢量形状而不是光栅图
我想为 Windows Phone 实现我自己的控件。问题是,我想自己绘制它 - 在常规 WPF 中,我只需重写OnRender
方法并提供我自己的实现。OnRender
但是, Windows Phone 上没有可用的方法。我还有什么其他选择?
在我的情况下不能接受的是:
由于 Windows.UI.Xaml 没有光栅图形 API,因此唯一的选择是使用矢量图形、渲染为位图并显示它,或与DirectX 互操作。
Microsoft 的 Win2D 库位于http://microsoft.github.io/Win2D(另请参见http://blogs.msdn.com/b/win2d/)通过 C# 公开 Direct2D,并且可能是您正在寻找的最佳匹配。这是一项正在进行的工作,并提供了最基本的功能,但如果您需要更多功能,您需要自己进行互操作。
最接近的其他选项是使用 3rd 方库(例如 WriteableBitmapEx)作为高级 API 来绘制到 WriteableBitmap。您可以将生成的位图提取到 ImageBrush 中以便在没有显式 Image 控件的情况下显示。