我必须将Lync PresenceIndicator WPF控件集成到使用DevExpress XtraGrid的WinForm应用程序中。
我已阅读DevExpress文档和第三方控件集成工作。如果我单击编辑我的列,则会绘制托管的Lync控件并且可以正常工作。
我遇到的问题是当列未处于编辑模式时的控件画家。 我无法将Lync PresenceIndicator WPF控件渲染为位图,控件未附加到任何窗口,而是在屏幕外。
知道我在这里做错了吗?
画家的代码片段。
lyncControl = New PresenceIndicator()
lyncControl.Source = info.ViewInfo.DisplayText
lyncControl.ContextualInformation = New ConversationContextualInfo()
lyncControl.Measure(New Size(info.Bounds.Width, info.Bounds.Height))
lyncControl.Arrange(New Rect(New Size(info.Bounds.Width, info.Bounds.Height)))
lyncControl.UpdateLayout()
Dim target As RenderTargetBitmap = New RenderTargetBitmap(info.Bounds.Width, info.Bounds.Height, 96, 96, PixelFormats.Pbgra32)
target.Render(lyncControl)
Dim encoder As BmpBitmapEncoder = New BmpBitmapEncoder()
encoder.Frames.Add(BitmapFrame.Create(target))
Using myStream As MemoryStream = New MemoryStream()
encoder.Save(myStream)
info.Graphics.DrawImage(Bitmap.FromStream(myStream), 0, 0)
End Using