2014-12-07 41 views
1

我想实现自己的Windows Phone控件。值得注意的是,我想自己绘制它 - 在普通的WPF中,我只是简单地覆盖OnRender方法并提供我自己的实现。但是,Windows Phone上没有可用的方法OnRender。我还有什么其他选择?Windows Phone中的OnRender等效

什么是在我的情况不接受的是:

  • 借鉴位图背景和显示它
  • 使用矢量图形代替光栅画
+0

使用Canvas作为其ControlTemplate的控件将执行此操作。您需要在Canvas.Children下添加元素。或者你可以看看WIN2D,它只是用一些很棒的GDI调用(比如DrawLine,DrawCircle等)来扩展Canvas。 – 2014-12-07 14:29:49

回答

2

由于Windows.UI。 Xaml没有栅格图形API,唯一的选择是使用矢量图形,渲染成位图并显示,或者到interop to DirectX

微软的Win2D库http://microsoft.github.io/Win2D(也见http://blogs.msdn.com/b/win2d/)通过C#公开了Direct2D,它可能是您寻找的最佳选择。这是一项正在进行的工作,并提供了最基本的功能,但如果您需要更多功能,则需要自己完成互操作。

最接近的其他选择是使用第三方库(如WriteableBitmapEx)为高级API绘制一个WriteableBitmap。您可以将生成的位图提取到ImageBrush中以供显示,而不需要显式的Image控件。

相关问题