Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/cmake/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 为动态信任的用户控件创建映像_C#_Wpf - Fatal编程技术网

C# 为动态信任的用户控件创建映像

C# 为动态信任的用户控件创建映像,c#,wpf,C#,Wpf,我试图创建一个用户控件的图像。usercontrol是动态创建的 MyViewsUserControl myViewsCanvas = new MyViewsUserControl(MyViewsViewModel, item.Id); usercontrols有一个网格,在某些情况下还有一个图表。我正在使用“RenderTargetBitmap”类创建图像。但是由于某些原因,网格和图表的图像没有被创建。谁能告诉我是什么问题吗?这是因为用户控件尚未加载吗 注意:我在加载用户控件之前创建图像 以

我试图创建一个用户控件的图像。usercontrol是动态创建的

MyViewsUserControl myViewsCanvas = new MyViewsUserControl(MyViewsViewModel, item.Id);
usercontrols有一个网格,在某些情况下还有一个图表。我正在使用“RenderTargetBitmap”类创建图像。但是由于某些原因,网格和图表的图像没有被创建。谁能告诉我是什么问题吗?这是因为用户控件尚未加载吗

注意:我在加载用户控件之前创建图像

以下是此操作的代码:

 MyViews.MyViewsUserControl myViewsCanvas = new MyViews.MyViewsUserControl(AllFoundationMyViewsViewModel, item.Id);
 myViewsCanvas.Measure(new Size(double.PositiveInfinity, double.PositiveInfinity));
 myViewsCanvas.Arrange(new Rect(new Point(), myViewsCanvas.DesiredSize));
 myViewsCanvas.UpdateLayout();
 screenInfo _screenInfo = new screenInfo(item.Id, item.MonarchMenuItem, "MyViews");
 UpdateControls(_DashBoardUserControl, i, myViewsCanvas, _screenInfo, item.MonarchMenuItem.DisplayName);

我正在UpdateControl()方法中创建图像。

在尝试将控件渲染到位图之前,请不要忘记调用用户控件的度量、排列和UpdateLayout

是的,我正在这样做。但是仍然面临问题。也许你应该发布呈现控件的代码。我不认为这是因为measure和arrange方法。我猜当我创建图像时,用户控件还没有加载。也许这就是我看不到图表的原因。