【MSCE C#】PreviewControl控件无法显示Element对象

老师,你好!

我参考https://mp.weixin.qq.com/s?__biz=MzU2NTc2MDk3Ng==&mid=2247483682&idx=1&sn=15d8a601873fc24e5f007cb39a6976a8&chksm=fcb7879dcbc00e8b4d0d26a291e5048d8d34930bde2366aad6f54fca22afe2826b81a436e41b&mpshare=1&scene=23&srcid=11117QKpMRQZJtMv2uGDQUfz&sharer_sharetime=1564577655061&sharer_shareid=1775705220c7bf4383ab38476091473a#rd 中的方法,创建了一个PreviewControl页面。

但是我增加到ElementAgenda的元素并未显示出来。

效果如下:

我的MS版本为Update12,请问这个是什么原因导致的呢?

我的代码如下:

DgnModel dgnmodel = Bentley.MstnPlatformNET.Session.Instance.GetActiveDgnModel();
try
{
//构造元素集
ElementAgenda showElements = new ElementAgenda();
//元素集来源为选择
showElements.Source = ModifyElementSource.Selected;
//获取当前DgnModel所有图形元素
ModelElementsCollection elements = dgnmodel.GetGraphicElements();
//遍历所有图形元素
IEnumerator<Element> allelement = elements.GetEnumerator();
while (allelement.MoveNext())
{
showElements.Insert(allelement.Current, false);
}
//获取当前DgnModel的IntPtr
IntPtr modelPtr = dgnmodel.GetNative();
unsafe
{
//构造PreviewControl,注意此处DDUI的使用
DDUI.Bentley.DgnPlatform.PreviewControl pc = new DDUI.Bentley.DgnPlatform.PreviewControl((DDUI.Bentley.DgnPlatform.DgnModel*)modelPtr.ToPointer());
this.elementHost1.Child = pc;
pc.FitToView();
pc.Rotate(DDUI.Bentley.DgnPlatform.RotationMode.Isometric);
pc.SetRenderMode(DDUI.Bentley.DgnPlatform.RenderMode.Solid);
pc.ShowPreview(showElements);
pc.Refresh();
}
}
catch (System.Exception ex)
{
MessageBox.Show(ex.Message + ":" + ex.StackTrace);
}