Cannot convert type 'System.Windows.Window' to 'NinjaTrader.Custom.AddOns.Chart' via a reference conversion, boxing conversion, unboxing conversion, wrapping conversion, or null type conversion
ScreenShot.chart = Window.GetWindow(ChartControl) as Chart
ScreenShot.SaveChart();
#region Using declarations
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.ComponentModel.DataAnnotations;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows;
using System.Windows.Input;
using System.Windows.Media;
using System.Xml.Serialization;
using NinjaTrader.Cbi;
using NinjaTrader.Gui;
using NinjaTrader.Gui.Chart;
using NinjaTrader.Gui.SuperDom;
using NinjaTrader.Gui.Tools;
using NinjaTrader.Data;
using NinjaTrader.NinjaScript;
using NinjaTrader.Core.FloatingPoint;
using System.IO;
using System.Windows.Media.Imaging;
#endregion
namespace NinjaTrader.Custom.AddOns
{
public static class ScreenShot
{
public static NinjaTrader.Gui.Chart.Chart chart
{ get; set; }
private static System.Windows.Media.Imaging.BitmapFrame outputFrame;
public static void SaveChart()
{
try
{
RenderTargetBitmap screenCapture = chart.GetScreenshot(ShareScreenshotType.Chart);
outputFrame = BitmapFrame.Create(screenCapture);
if (screenCapture != null)
{
try
{
PngBitmapEncoder png = new PngBitmapEncoder();
png.Frames.Add(outputFrame);
using (Stream stream = File.Create(string.Format(@"{0}\{1}", Core.Globals.UserDataDir, "MyScreenshot.png"))) png.Save(stream);
NinjaTrader.Code.Output.Process("Screenshot saved to " + Core.Globals.UserDataDir, PrintTo.OutputTab1);
}
catch (IOException)
{
NinjaTrader.Code.Output.Process("ScreenshotTakerExample: Could not take screenshot", PrintTo.OutputTab1);
}
}
}
catch (Exception ex)
{
NinjaTrader.Code.Output.Process("Could not save screenshot " + ex, PrintTo.OutputTab1);
}
}
}
}
Comment