private void GraphicsInteropPanel_Loaded(object sender, RoutedEventArgs e) { RenderFrame ParentRenderfarame = FindParentRenderFrame(); if (ParentRenderfarame == null) { Dispatcher.BeginInvoke(new Action(() => { Renderframe = new OffscreenRenderFrame(); Renderframe.Height = (int)ActualHeight; Renderframe.Width = (int)ActualWidth; Renderframe.RenderTargetChanged += Renderframe_RenderTargetChanged; Renderframe.Initialize(); Clear = Renderframe.CreateDrawCommnad2D <Clear2DCommand>(); Clear.clearColor = SharpDX.Color.White; image = new System.Windows.Controls.Image(); image.Width = ActualWidth; image.Height = ActualHeight; imageSource = new GraphicsInteropImageSource(); image.Source = imageSource; SizeChanged += GraphicsInteropPanel_SizeChanged; System.Windows.Media.CompositionTarget.Rendering += CompositionTarget_Rendering; })); } }