private static void MyCurrentCamPropertyChangedCallback(DependencyObject d, DependencyPropertyChangedEventArgs e) { ViewFrustumFunctions vf = d as ViewFrustumFunctions; object newVal = e.NewValue; HelixToolkit.SharpDX.ProjectionCamera cam = newVal as HelixToolkit.SharpDX.ProjectionCamera; if (vf != null && cam != null && vf.SynchrCam) { // clear children list vf.Children.Clear(); // get the size of the viewport double parentH = 0; double parentW = 0; Viewport3DX parent = vf.Parent as Viewport3DX; if (parent != null) { vf.CurrentPos = parent.CurrentPosition; parentH = parent.ActualHeight; parentW = parent.ActualWidth; //var test = parent.Parent; } // add new View Frustum vf.DefineViewFrustum(cam, parentH, parentW); vf.BuildViewFrustumModel(); } }