using UIKit;
using Foundation;
using Shared.IO;
using CoreFoundation;
using System.Collections.Generic;
using System;
using System.Runtime;
namespace Shared
{
///
/// Button 按键
///
public class MyEchartsView : View
{
JsonData jsonData = new JsonData { };
UIWebView uIWebView;
public MyEchartsView()
{
uIWebView = new UIWebView { };
uiView = uIWebView;
uIWebView.ScrollView.Bounces = false;
uIWebView.ScrollView.ScrollEnabled = false;
var filePath = NSBundle.MainBundle.PathForResource("echarts", "html");
var url = new NSUrl(filePath);
var request = new NSUrlRequest(url);
uIWebView.LoadRequest(request);
uIWebView.LoadFinished += (sender, e) => {
uIWebView.EvaluateJavascript($"loadEcharts({Newtonsoft.Json.JsonConvert.SerializeObject(jsonData)},'undefined')");
};
}
public void Show(string title, string[] xArray, object[] yArray)
{
jsonData.Title = title;
jsonData.XArray = xArray;
jsonData.YArray = yArray;
uIWebView.EvaluateJavascript($"loadEcharts({Newtonsoft.Json.JsonConvert.SerializeObject(jsonData)},'undefined')");
}
///Users/hdl/MyFiles/My/Xamarin/MyApp/Library/Shared.IOS/UI/MyEchartsView.cs(30,30): Error CS0012: The type 'Attribute' is defined in an assembly that is not referenced.You must add a reference to assembly 'netstandard, Version=2.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51'. (CS0012) (Shared.IOS)
///Users/hdl/MyFiles/My/Xamarin/MyApp/Demo/IOS/MTOUCH: Error MT2101: Can't resolve the reference 'System.Reflection.Emit.ILGenerator System.Reflection.Emit.DynamicMethod::GetILGenerator()', referenced from the method 'Newtonsoft.Json.Serialization.ObjectConstructor`1 Newtonsoft.Json.Utilities.DynamicReflectionDelegateFactory::CreateParameterizedConstructor(System.Reflection.MethodBase)' in 'mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089'. (MT2101) (Demo.IOS)
///Users/hdl/MyFiles/My/Xamarin/MyApp/Demo/IOS/MTOUCH: Error MT2101: Can't resolve the reference 'System.Reflection.Emit.ILGenerator System.Reflection.Emit.DynamicMethod::GetILGenerator()', referenced from the method 'Newtonsoft.Json.Serialization.ObjectConstructor`1 Newtonsoft.Json.Utilities.DynamicReflectionDelegateFactory::CreateParameterizedConstructor(System.Reflection.MethodBase)' in 'mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089'. (MT2101) (Demo.IOS)
///Users/hdl/MyFiles/My/Xamarin/MyApp/Demo/IOS/MTOUCH: Error MT2101: Can't resolve the reference 'System.Reflection.Emit.ILGenerator System.Reflection.Emit.DynamicMethod::GetILGenerator()', referenced from the method 'Newtonsoft.Json.Serialization.ObjectConstructor`1 Newtonsoft.Json.Utilities.DynamicReflectionDelegateFactory::CreateParameterizedConstructor(System.Reflection.MethodBase)' in 'mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089'. (MT2101) (Demo.IOS)
public string Unit
{
get
{
return jsonData.Unit;
}
set
{
jsonData.Unit = value;
}
}
[Serializable]
class JsonData
{
///
/// 标题内容
///
/// The title.
[Newtonsoft.Json.JsonIgnore]
public string Title
{
get
{
return title["text"].ToString();
}
set
{
title["text"] = value;
}
}
[Newtonsoft.Json.JsonProperty]
readonly Dictionary title = new Dictionary { ["text"] = "" };
[Newtonsoft.Json.JsonProperty]
readonly Dictionary tooltip = new Dictionary { ["trigger"] = "axis" };
///
/// X轴坐标点
///
/// The XA rray.
[Newtonsoft.Json.JsonIgnore]
public string[] XArray
{
get
{
return (xAxis[0] as Dictionary)["data"] as string[];
}
set
{
(xAxis[0] as Dictionary)["data"] = value;
}
}
[Newtonsoft.Json.JsonProperty]
readonly List