C# 将DependencyObject类型更改为fix“;必须为Visual3D类型。”;错误?

C# 将DependencyObject类型更改为fix“;必须为Visual3D类型。”;错误?,c#,xaml,3d,kinect,dependencyobject,C#,Xaml,3d,Kinect,Dependencyobject,我有一个问题,我需要这样做(当我点击Viewport3D时知道X、Y、Z坐标的代码,它显示了使用Kinect获得的3D图像): 但是当我运行代码时,它在MathUtils.cs上给了我一个异常: if (!(visual is Visual3D)) { throw new ArgumentException("Must be of type Visual3D.", "visual"); } 我试图将DependencyObject类型更改

我有一个问题,我需要这样做(当我点击Viewport3D时知道X、Y、Z坐标的代码,它显示了使用Kinect获得的3D图像):

但是当我运行代码时,它在MathUtils.cs上给了我一个异常:

if (!(visual is Visual3D))
        {
            throw new ArgumentException("Must be of type Visual3D.", "visual");
        }
我试图将DependencyObject类型更改为Visual3D,但我不知道如何执行

有人能帮我修复错误并让代码正常工作吗


非常感谢

输入参数
visual
应该是应用程序中已存在的Visual3D,而不是新创建的对象。还请注意,
viewport3dvisical
是trytransformto2dascentor方法的一个输出参数,因此不需要像使用VisualTreeHelper.GetParent(…)那样进行初始化。如果使用graphicsViewport而不是viewport3dvisical,则在调试之前会出现错误。这个Visual3D参数可以在哪里?你知道吗?我搜索了我所有的解决方案,但我没有任何“Visual3D”参数,我可以创建一个吗?对不起,我不能告诉你更多。当您甚至不知道要将哪个Visual3D作为输入传递时,完全不清楚您在做什么,以及为什么要调用TryTransferMTO2DAscentor方法。
if (!(visual is Visual3D))
        {
            throw new ArgumentException("Must be of type Visual3D.", "visual");
        }