C# 排列时从网格(8x3)获取RadCartesianChart图像问题

C# 排列时从网格(8x3)获取RadCartesianChart图像问题,c#,wpf,image,C#,Wpf,Image,我有一个8x3行和列的网格,下面是获取我的RadCartesianChart,它通过函数“ExportCHARTtoBMP”在磁盘中生成一个图像 问题是,当映像保存到磁盘时,行序列正在更改 for (int row = 0; row < (chartgridimage.RowDefinitions.Count())-1; row++) for (int column = 0; column < chartgridimage.ColumnDefinitions.Count()

我有一个8x3行和列的网格,下面是获取我的RadCartesianChart,它通过函数“ExportCHARTtoBMP”在磁盘中生成一个图像

问题是,当映像保存到磁盘时,行序列正在更改

for (int row = 0; row < (chartgridimage.RowDefinitions.Count())-1; row++)
    for (int column = 0; column < chartgridimage.ColumnDefinitions.Count(); column++)
    {
        RadCartesianChart chart = chartgridimage.ChildrenOfType<RadCartesianChart>().FirstOrDefault(e => Grid.GetRow(e) == row && Grid.GetColumn(e) == column);
        chart.Measure(new System.Windows.Size(470, 280));
        chart.Arrange(new Rect(0, 0, 470, 280));
        ExportCHARTtoBMP(chart,"chart"+row+""+column);
    }
private void ExportGRIDtoBMP(Grid gridinput, string filename)
{
    gridinput.Measure(new System.Windows.Size(double.PositiveInfinity, double.PositiveInfinity));
    int grid1Width = (int)Math.Round(gridinput.ActualWidth);
    int grid1Height = (int)Math.Round(gridinput.ActualHeight);
    grid1Width = grid1Width == 0 ? 1 : grid1Width;
    grid1Height = grid1Height == 0 ? 1 : grid1Height;

    RenderTargetBitmap rtbmp = new RenderTargetBitmap(grid1Width, grid1Height, 96d, 96d, PixelFormats.Default);
    rtbmp.Render(gridinput);
    BmpBitmapEncoder encoder = new BmpBitmapEncoder();
    encoder.Frames.Add(BitmapFrame.Create(rtbmp));
    FileStream gridbmpfilestrm = File.Create(@"C:\Users\Admin\Desktop\" + filename + ".bmp");
    encoder.Save(gridbmpfilestrm);
    gridbmpfilestrm.Close();
    rtbmp.Clear();
}