├── .gitignore ├── GettingStarted.SfChart ├── GettingStarted.SfChart.Droid │ ├── Assets │ │ ├── AboutAssets.txt │ │ └── Fonts │ │ │ └── winjs-symbols.ttf │ ├── GettingStarted.SfChart.Droid.csproj │ ├── GettingStarted.SfChart.Droid.csproj.user │ ├── Main.cs │ ├── MainActivity.cs │ ├── Properties │ │ ├── AndroidManifest.xml │ │ └── AssemblyInfo.cs │ └── Resources │ │ ├── AboutResources.txt │ │ ├── drawable │ │ └── Icon.png │ │ └── values │ │ ├── Strings.xml │ │ └── Styles.xml ├── GettingStarted.SfChart.Shared │ ├── App.xaml │ ├── App.xaml.cs │ ├── Assets │ │ └── SharedAssets.md │ ├── GettingStarted.SfChart.Shared.projitems │ ├── GettingStarted.SfChart.Shared.shproj │ ├── MainPage.xaml │ ├── MainPage.xaml.cs │ └── Strings │ │ └── en │ │ └── Resources.resw ├── GettingStarted.SfChart.Wasm │ ├── Assets │ │ └── SplashScreen.png │ ├── GettingStarted.SfChart.Wasm.csproj │ ├── LinkerConfig.xml │ ├── Program.cs │ ├── WasmCSS │ │ └── Fonts.css │ ├── WasmScripts │ │ └── AppManifest.js │ └── wwwroot │ │ └── web.config ├── GettingStarted.SfChart.iOS │ ├── Entitlements.plist │ ├── GettingStarted.SfChart.iOS.csproj │ ├── Info.plist │ ├── LaunchScreen.storyboard │ ├── Main.cs │ ├── Media.xcassets │ │ ├── AppIcons.appiconset │ │ │ ├── Contents.json │ │ │ ├── iPad-76x76@2x.png │ │ │ ├── iPad-84x84@2x.png │ │ │ ├── iPhone-20x20@2x.png │ │ │ ├── iPhone-20x20@3x.png │ │ │ ├── iPhone-40x40@3x.png │ │ │ ├── iPhone-60x60@2x.png │ │ │ └── ios-marketing-1024x1024@1x.png │ │ └── LaunchImages.launchimage │ │ │ └── Contents.json │ ├── Properties │ │ └── AssemblyInfo.cs │ └── Resources │ │ ├── Default-568h@2x.png │ │ ├── Fonts │ │ └── winjs-symbols.ttf │ │ ├── SplashScreen@2x.png │ │ └── SplashScreen@3x.png └── GettingStarted.SfChart.sln ├── Images ├── GettingStarted.png ├── SyncfusionChartDemo.gif └── SyncfusionUnoChart.gif ├── LICENSE.MD ├── README.md ├── SampleBrowser ├── SampleBrowser.SfChart.Droid │ ├── Assets │ │ ├── AboutAssets.txt │ │ └── Fonts │ │ │ └── winjs-symbols.ttf │ ├── Main.cs │ ├── MainActivity.cs │ ├── Properties │ │ ├── AndroidManifest.xml │ │ └── AssemblyInfo.cs │ ├── Resources │ │ ├── AboutResources.txt │ │ ├── drawable │ │ │ └── Icon.png │ │ └── values │ │ │ ├── Strings.xml │ │ │ └── Styles.xml │ ├── SampleBrowser.SfChart.Droid.csproj │ └── SampleBrowser.SfChart.Droid.csproj.user ├── SampleBrowser.SfChart.Shared │ ├── App.xaml │ ├── App.xaml.cs │ ├── Assets │ │ ├── AreaChart.png │ │ ├── BarChart.png │ │ ├── BubbleChart.png │ │ ├── ColumnChart.png │ │ ├── DoughnutChart.png │ │ ├── LineChart.png │ │ ├── Person.png │ │ ├── PieChart.png │ │ ├── RadarChart.png │ │ ├── RangeChart.png │ │ ├── ScatterChart.png │ │ ├── SharedAssets.md │ │ ├── StackedChart.png │ │ ├── TriangularChart.png │ │ ├── axis.png │ │ ├── line.png │ │ ├── lockscreenlogo.scale-200.png │ │ ├── splashscreen.scale-200.png │ │ ├── square150x150logo.scale-200.png │ │ ├── square44x44logo.scale-200.png │ │ ├── square44x44logo.targetsize-24_altform-unplated.png │ │ ├── storelogo.png │ │ └── wide310x150logo.scale-200.png │ ├── MainPage.xaml │ ├── MainPage.xaml.cs │ ├── Model │ │ ├── LineChartModel.cs │ │ ├── PieChartModel.cs │ │ ├── PlantDataModel.cs │ │ ├── StackedChartModel.cs │ │ └── TriangularChartModel.cs │ ├── SampleBrowser.SfChart.Shared.projitems │ ├── SampleBrowser.SfChart.Shared.shproj │ ├── Strings │ │ └── en │ │ │ └── Resources.resw │ ├── View │ │ ├── AreaChartView.xaml │ │ ├── AreaChartView.xaml.cs │ │ ├── BarChartView.xaml │ │ ├── BarChartView.xaml.cs │ │ ├── BubbleChartView.xaml │ │ ├── BubbleChartView.xaml.cs │ │ ├── ChartAxisType.xaml │ │ ├── ChartAxisType.xaml.cs │ │ ├── ColumnChartView.xaml │ │ ├── ColumnChartView.xaml.cs │ │ ├── DoughnutChartView.xaml │ │ ├── DoughtnutChartView.xaml.cs │ │ ├── LineChartView.xaml │ │ ├── LineChartView.xaml.cs │ │ ├── PieChartView.xaml │ │ ├── PieChartView.xaml.cs │ │ ├── ScatterChartView.xaml │ │ └── ScatterChartView.xaml.cs │ └── ViewModel │ │ ├── AreaChartViewModel.cs │ │ ├── BubbleChartViewModel.cs │ │ ├── ColumnChartViewModel.cs │ │ ├── LineChartViewModel.cs │ │ ├── PieChartViewModel.cs │ │ ├── PolarChartViewModel.cs │ │ ├── StackedChartViewModel.cs │ │ └── TriangularChartViewModel.cs ├── SampleBrowser.SfChart.Wasm │ ├── Assets │ │ └── SplashScreen.png │ ├── LinkerConfig.xml │ ├── Program.cs │ ├── SampleBrowser.SfChart.Wasm.csproj │ ├── WasmCSS │ │ └── Fonts.css │ ├── WasmScripts │ │ └── AppManifest.js │ └── wwwroot │ │ └── web.config ├── SampleBrowser.SfChart.iOS │ ├── AreaChart.png │ ├── BarChart.png │ ├── BubbleChart.png │ ├── ColumnChart.png │ ├── DoughnutChart.png │ ├── Entitlements.plist │ ├── Info.plist │ ├── LaunchScreen.storyboard │ ├── LineChart.png │ ├── Main.cs │ ├── Media.xcassets │ │ ├── AppIcons.appiconset │ │ │ ├── Contents.json │ │ │ ├── iPad-76x76@2x.png │ │ │ ├── iPad-84x84@2x.png │ │ │ ├── iPhone-20x20@2x.png │ │ │ ├── iPhone-20x20@3x.png │ │ │ ├── iPhone-40x40@3x.png │ │ │ ├── iPhone-60x60@2x.png │ │ │ └── ios-marketing-1024x1024@1x.png │ │ └── LaunchImages.launchimage │ │ │ └── Contents.json │ ├── Person.png │ ├── PieChart.png │ ├── Properties │ │ └── AssemblyInfo.cs │ ├── Resources │ │ ├── Default-568h@2x.png │ │ ├── Fonts │ │ │ └── winjs-symbols.ttf │ │ ├── SplashScreen@2x.png │ │ └── SplashScreen@3x.png │ ├── SampleBrowser.SfChart.iOS.csproj │ ├── SampleBrowser.SfChart.iOS.csproj.user │ ├── ScatterChart.png │ ├── StackedChart.png │ ├── TriangularChart.png │ ├── axis.png │ └── line.png └── SampleBrowser.SfChart.sln └── Src ├── Annotation ├── Annotation.cs ├── AnnotationCollection.cs ├── AnnotationManager.cs ├── AnnotationResizer.cs ├── AxisMarker.cs ├── EllipseAnnotation.cs ├── HorizontalLineAnnotation.cs ├── ImageAnnotation.cs ├── LineAnnotation.cs ├── RectangleAnnotation.cs ├── ShapeAnnotation.cs ├── SingleAnnotation.cs ├── SolidShapeAnnotation.cs ├── StraightLineAnnotation.cs ├── TextAnnotation.cs └── VerticalLineAnnotation.cs ├── Behaviors ├── ChartBehavior.cs ├── ChartCrossHairBehavior.cs ├── ChartSelectionBehavior.cs ├── ChartTrackBallBehavior.cs └── ChartZoomPanBehavior.cs ├── ChartArea ├── ChartArea.cs └── ChartBase.cs ├── ChartAxis ├── CategoryAxis.cs ├── ChartAxis.cs ├── ChartAxisBase2D.cs ├── ChartAxisScaleBreak.cs ├── ChartMultiLevelLabel.cs ├── DateTimeAxis.cs ├── DateTimeCategoryAxis.cs ├── Helper │ ├── CategoryAxisHelper.cs │ ├── DateTimeAxisHelper.cs │ ├── LogarithmicAxisHelper.cs │ ├── NumericalAxisHelper.cs │ ├── RangeAxisBaseHelper.cs │ └── TimeSpanAxisHelper.cs ├── LogarithmicAxis.cs ├── NumericalAxis.cs ├── RangeAxisBase.cs └── TimeSpanAxis.cs ├── ChartLegend ├── ChartAreaLegendBase.cs └── ChartLegend.cs ├── ChartSeries ├── AccumulationSeriesBase.cs ├── AdornmentSeries.cs ├── AreaSeries.cs ├── BarSeries.cs ├── BoxAndWhiskerSeries.cs ├── BubbleSeries.cs ├── CandleSeries.cs ├── CartesianSeries.cs ├── ChartSeries.cs ├── ChartSeriesBase.cs ├── CircularSeriesBase.cs ├── ColumnSeries.cs ├── DoughnutSeries.cs ├── ErrorBarSeries.cs ├── FastBarBitmapSeries.cs ├── FastCandleBitmapSeries.cs ├── FastColumnSeries.cs ├── FastHiLoOpenCloseSeries.cs ├── FastHiLoSeries.cs ├── FastLineBitmapSeries.cs ├── FastLineSeries.cs ├── FastRangeAreaBitmapSeries.cs ├── FastScatterBitmapSeries.cs ├── FastStackingColumnBitmapSeries.cs ├── FastStepLineBitmapSeries.cs ├── FinancialSeriesBase.cs ├── FunnelSeries.cs ├── HiLoOpenCloseSeries.cs ├── HiLoSeries.cs ├── HistogramSeries.cs ├── LineSeries.cs ├── LinkerDefinition.Wasm.xml ├── PieSeries.cs ├── PolarRadarSeriesBase.cs ├── PolarSeries.cs ├── PyramidSeries.cs ├── RadarSeries.cs ├── RangeAreaSeries.cs ├── RangeColumnSeries.cs ├── RangeSegmentDraggingBase.cs ├── RangeSeriesBase.cs ├── ScatterSeries.cs ├── SplineAreaSeries.cs ├── SplineRangeAreaSeries.cs ├── SplineSeries.cs ├── StackingArea100Series.cs ├── StackingAreaSeries.cs ├── StackingBar100Series.cs ├── StackingBarSeries.cs ├── StackingColumn100Series.cs ├── StackingColumnSeries.cs ├── StackingSeriesBase.cs ├── StepAreaSeries.cs ├── StepLineSeries.cs ├── TriangularSeriesBase.cs ├── WaterfallSeries.cs ├── XYDataSeries.cs ├── XySegmentDraggingBase.cs └── XySeriesDraggingBase.cs ├── Collections ├── ChartBehaviorsCollection.cs └── Collections.cs ├── Controls ├── ArrowLine.cs ├── ChartToolBar.cs ├── ChartToolBarItem.cs ├── LabelBarStyle.cs ├── ResizableScrollBar.cs ├── Resizer.cs ├── SfResizableBar.cs ├── ThemeDictionaries.cs └── Watermark.cs ├── Converters └── ChartConverters.cs ├── Data └── FastReflection.cs ├── Drawing Utils └── Line Drawing.cs ├── LinkerDefinition.Wasm.xml ├── Model ├── ChartAdornmentInfo.cs ├── ChartAxisRangeStyle.cs ├── ChartColorModel.cs ├── ChartColumnDefinition.cs ├── ChartPointInfo.cs ├── ChartRowDefinition.cs ├── ChartStripLine.cs └── Segments │ ├── AreaSegment.cs │ ├── BarSegment.cs │ ├── BoxAndWhiskerSegment.cs │ ├── BubbleSegment.cs │ ├── CandleSegment.cs │ ├── ChartAdornment.cs │ ├── ChartSegment.cs │ ├── ColumnSegment.cs │ ├── DoughnutSegment.cs │ ├── EmptyPointSegement.cs │ ├── ErrorBarSegment.cs │ ├── FastBarBitmapSegment.cs │ ├── FastCandleBitmapSegment.cs │ ├── FastColumnSegment.cs │ ├── FastHiLoOpenCloseSegment.cs │ ├── FastHiLoSegment.cs │ ├── FastLineBitmapSegment.cs │ ├── FastLineSegment.cs │ ├── FastRangeAreaBitmapSegment.cs │ ├── FastScatterBitmapSegment.cs │ ├── FastStackingColumnBitmapSegment.cs │ ├── FastStepLineBitmapSegment.cs │ ├── FunnelSegment.cs │ ├── HiLoOpenCloseSegment.cs │ ├── HiLoSegment.cs │ ├── HistogramSegment.cs │ ├── LineSegment.cs │ ├── PieSegment.cs │ ├── PyramidSegment.cs │ ├── RangeAreaSegment.cs │ ├── RangeColumnSegment.cs │ ├── ScatterSegment.cs │ ├── SplineAreaSegment.cs │ ├── SplineRangeAreaSegment.cs │ ├── SplineSegment.cs │ ├── StackingAreaSegment.cs │ ├── StackingBarSegment.cs │ ├── StackingColumnSegment.cs │ ├── StepAreaSegment.cs │ ├── StepLineSegment.cs │ ├── TrendlineSegment.cs │ └── WaterfallSegment.cs ├── Panels ├── ChartAdornmentContainer.cs ├── ChartAdornmentPresenter.cs ├── ChartAxisLayoutPanel.cs ├── ChartCartesianAxisElementsPanel.cs ├── ChartCartesianAxisLabelsPanel.cs ├── ChartCartesianAxisLayoutPanel.cs ├── ChartCartesianAxisPanel.cs ├── ChartCartesianGridLinesPanel.cs ├── ChartCircularAxisPanel.cs ├── ChartDockPanel.cs ├── ChartPolarAxisLayoutPanel.cs ├── ChartPolarGridLinesPanel.cs ├── ChartRootPanel.cs ├── ChartSeriesPanel.cs ├── ChartTooltip.cs ├── ChartTrendlinePanel.cs └── MultiLevelLabelsPanel.cs ├── Properties └── PublishProfiles │ └── FolderProfile.pubxml ├── Resources ├── SR.cs ├── SfChartResourceWrapper.cs └── en-US │ └── Syncfusion.SfChart.Uno.Resources.resw ├── Syncfusion.SfChart.Uno.csproj ├── Syncfusion.SfChart.Uno.sln ├── Technical Indicators ├── FinancialTechnicalIndicator.cs └── TechnicalIndicatorSegment.cs ├── Themes ├── ChartArea.xaml ├── ChartAxis.xaml ├── ChartSeries.xaml ├── ChartToolBar.xaml ├── Generic.Common.xaml ├── Generic.Legend.xaml ├── Generic.Symbol.xaml ├── ResizableScrollBar.xaml ├── Resizer.xaml └── generic.xaml ├── Trendlines ├── ChartTrendlineBase.cs └── Trendline.cs └── Utils ├── ChartCloning.cs ├── ChartDataUtils.cs ├── ChartExtensionUtils.cs ├── ChartMath.cs ├── ChartTransformer.cs ├── DateTimeRange.cs ├── DoubleRange.cs ├── ErrorBarLineStyles ├── CapLineStyle.cs └── LineStyle.cs ├── Interfaces.cs ├── RectAnimation.cs ├── ResourceDictionaries.cs ├── UIElementsRecycler.cs └── enum.cs /GettingStarted.SfChart/GettingStarted.SfChart.Droid/Assets/AboutAssets.txt: -------------------------------------------------------------------------------- 1 | Any raw assets you want to be deployed with your application can be placed in 2 | this directory (and child directories) and given a Build Action of "AndroidAsset". 3 | 4 | These files will be deployed with you package and will be accessible using Android's 5 | AssetManager, like this: 6 | 7 | public class ReadAsset : Activity 8 | { 9 | protected override void OnCreate (Bundle bundle) 10 | { 11 | base.OnCreate (bundle); 12 | 13 | InputStream input = Assets.Open ("my_asset.txt"); 14 | } 15 | } 16 | 17 | Additionally, some Android functions will automatically load asset files: 18 | 19 | Typeface tf = Typeface.CreateFromAsset (Context.Assets, "fonts/samplefont.ttf"); -------------------------------------------------------------------------------- /GettingStarted.SfChart/GettingStarted.SfChart.Droid/Assets/Fonts/winjs-symbols.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syncfusion/Uno.SfChart/23b02d85c0dbd0551da312ca98f2c99d5027a145/GettingStarted.SfChart/GettingStarted.SfChart.Droid/Assets/Fonts/winjs-symbols.ttf -------------------------------------------------------------------------------- /GettingStarted.SfChart/GettingStarted.SfChart.Droid/GettingStarted.SfChart.Droid.csproj: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | Debug 5 | AnyCPU 6 | 8.0.30703 7 | 2.0 8 | {47BCAB38-1664-4912-A492-55F2820FC66C} 9 | {EFBA0AD7-5A72-4C68-AF49-83D382785DCF};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} 10 | Library 11 | Properties 12 | GettingStarted.SfChart.Droid 13 | GettingStarted.SfChart.Droid 14 | 512 15 | true 16 | Resources\Resource.Designer.cs 17 | 18 | false 19 | Off 20 | False 21 | v9.0 22 | Properties\AndroidManifest.xml 23 | True 24 | ..\GettingStarted.SfChart.Shared\Strings 25 | 26 | 27 | true 28 | portable 29 | false 30 | bin\Debug\ 31 | DEBUG;TRACE 32 | prompt 33 | 4 34 | True 35 | None 36 | 37 | 38 | portable 39 | true 40 | true 41 | true 42 | bin\Release\ 43 | TRACE 44 | prompt 45 | 4 46 | False 47 | SdkOnly 48 | true 49 | true 50 | true 51 | true 52 | true 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | 71 | 72 | 73 | 74 | 75 | 76 | 77 | 78 | 79 | 80 | 81 | 82 | 83 | 84 | 85 | 86 | 87 | 88 | 89 | 90 | 91 | 92 | 93 | 94 | {fb5b84d0-91f2-41a1-9d77-2c7538ecf94b} 95 | Syncfusion.SfChart.Uno 96 | 97 | 98 | 99 | 100 | 101 | 102 | -------------------------------------------------------------------------------- /GettingStarted.SfChart/GettingStarted.SfChart.Droid/GettingStarted.SfChart.Droid.csproj.user: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | pixel_2_pie_9_0_-_api_28 5 | pixel_2_pie_9_0_-_api_28 6 | 7 | -------------------------------------------------------------------------------- /GettingStarted.SfChart/GettingStarted.SfChart.Droid/Main.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | 6 | using Android.App; 7 | using Android.Content; 8 | using Android.OS; 9 | using Android.Runtime; 10 | using Android.Views; 11 | using Android.Widget; 12 | using Com.Nostra13.Universalimageloader.Core; 13 | using Windows.UI.Xaml.Media; 14 | 15 | namespace GettingStarted.SfChart.Droid 16 | { 17 | [global::Android.App.ApplicationAttribute( 18 | Label = "@string/ApplicationName", 19 | LargeHeap = true, 20 | HardwareAccelerated = true, 21 | Theme = "@style/AppTheme" 22 | )] 23 | public class Application : Windows.UI.Xaml.NativeApplication 24 | { 25 | public Application(IntPtr javaReference, JniHandleOwnership transfer) 26 | : base(() => new App(), javaReference, transfer) 27 | { 28 | ConfigureUniversalImageLoader(); 29 | } 30 | 31 | private void ConfigureUniversalImageLoader() 32 | { 33 | // Create global configuration and initialize ImageLoader with this config 34 | ImageLoaderConfiguration config = new ImageLoaderConfiguration 35 | .Builder(Context) 36 | .Build(); 37 | 38 | ImageLoader.Instance.Init(config); 39 | 40 | ImageSource.DefaultImageLoader = ImageLoader.Instance.LoadImageAsync; 41 | } 42 | } 43 | } 44 | -------------------------------------------------------------------------------- /GettingStarted.SfChart/GettingStarted.SfChart.Droid/MainActivity.cs: -------------------------------------------------------------------------------- 1 | using Android.App; 2 | using Android.Widget; 3 | using Android.OS; 4 | using Android.Content.PM; 5 | using Android.Views; 6 | 7 | namespace GettingStarted.SfChart.Droid 8 | { 9 | [Activity( 10 | MainLauncher = true, 11 | ConfigurationChanges = Uno.UI.ActivityHelper.AllConfigChanges, 12 | WindowSoftInputMode = SoftInput.AdjustPan | SoftInput.StateHidden 13 | )] 14 | public class MainActivity : Windows.UI.Xaml.ApplicationActivity 15 | { 16 | } 17 | } 18 | 19 | -------------------------------------------------------------------------------- /GettingStarted.SfChart/GettingStarted.SfChart.Droid/Properties/AndroidManifest.xml: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /GettingStarted.SfChart/GettingStarted.SfChart.Droid/Properties/AssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | using System.Reflection; 2 | using System.Runtime.CompilerServices; 3 | using System.Runtime.InteropServices; 4 | using Android.App; 5 | 6 | // General Information about an assembly is controlled through the following 7 | // set of attributes. Change these attribute values to modify the information 8 | // associated with an assembly. 9 | [assembly: AssemblyTitle("GettingStarted.SfChart.Droid")] 10 | [assembly: AssemblyDescription("")] 11 | [assembly: AssemblyConfiguration("")] 12 | [assembly: AssemblyCompany("")] 13 | [assembly: AssemblyProduct("GettingStarted.SfChart.Droid")] 14 | [assembly: AssemblyCopyright("Copyright © 2020")] 15 | [assembly: AssemblyTrademark("")] 16 | [assembly: AssemblyCulture("")] 17 | [assembly: ComVisible(false)] 18 | 19 | // Version information for an assembly consists of the following four values: 20 | // 21 | // Major Version 22 | // Minor Version 23 | // Build Number 24 | // Revision 25 | // 26 | // You can specify all the values or you can default the Build and Revision Numbers 27 | // by using the '*' as shown below: 28 | // [assembly: AssemblyVersion("1.0.*")] 29 | [assembly: AssemblyVersion("1.0.0.0")] 30 | [assembly: AssemblyFileVersion("1.0.0.0")] 31 | -------------------------------------------------------------------------------- /GettingStarted.SfChart/GettingStarted.SfChart.Droid/Resources/AboutResources.txt: -------------------------------------------------------------------------------- 1 | Images, layout descriptions, binary blobs and string dictionaries can be included 2 | in your application as resource files. Various Android APIs are designed to 3 | operate on the resource IDs instead of dealing with images, strings or binary blobs 4 | directly. 5 | 6 | For example, a sample Android app that contains a user interface layout (main.axml), 7 | an internationalization string table (strings.xml) and some icons (drawable-XXX/icon.png) 8 | would keep its resources in the "Resources" directory of the application: 9 | 10 | Resources/ 11 | drawable/ 12 | icon.png 13 | 14 | layout/ 15 | main.axml 16 | 17 | values/ 18 | strings.xml 19 | 20 | In order to get the build system to recognize Android resources, set the build action to 21 | "AndroidResource". The native Android APIs do not operate directly with filenames, but 22 | instead operate on resource IDs. When you compile an Android application that uses resources, 23 | the build system will package the resources for distribution and generate a class called "R" 24 | (this is an Android convention) that contains the tokens for each one of the resources 25 | included. For example, for the above Resources layout, this is what the R class would expose: 26 | 27 | public class R { 28 | public class drawable { 29 | public const int icon = 0x123; 30 | } 31 | 32 | public class layout { 33 | public const int main = 0x456; 34 | } 35 | 36 | public class strings { 37 | public const int first_string = 0xabc; 38 | public const int second_string = 0xbcd; 39 | } 40 | } 41 | 42 | You would then use R.drawable.icon to reference the drawable/icon.png file, or R.layout.main 43 | to reference the layout/main.axml file, or R.strings.first_string to reference the first 44 | string in the dictionary file values/strings.xml. -------------------------------------------------------------------------------- /GettingStarted.SfChart/GettingStarted.SfChart.Droid/Resources/drawable/Icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syncfusion/Uno.SfChart/23b02d85c0dbd0551da312ca98f2c99d5027a145/GettingStarted.SfChart/GettingStarted.SfChart.Droid/Resources/drawable/Icon.png -------------------------------------------------------------------------------- /GettingStarted.SfChart/GettingStarted.SfChart.Droid/Resources/values/Strings.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | Hello World, Click Me! 4 | GettingStarted.SfChart 5 | 6 | -------------------------------------------------------------------------------- /GettingStarted.SfChart/GettingStarted.SfChart.Droid/Resources/values/Styles.xml: -------------------------------------------------------------------------------- 1 |  2 | 3 | 12 | -------------------------------------------------------------------------------- /GettingStarted.SfChart/GettingStarted.SfChart.Shared/App.xaml: -------------------------------------------------------------------------------- 1 |  6 | 7 | 8 | -------------------------------------------------------------------------------- /GettingStarted.SfChart/GettingStarted.SfChart.Shared/Assets/SharedAssets.md: -------------------------------------------------------------------------------- 1 | See documentation about assets here : https://github.com/unoplatform/uno/blob/master/doc/articles/features/working-with-assets.md 2 | 3 | # Here is a cheat sheet: 4 | 5 | 1. Add the image file to the `Assets` directory of a shared project. 6 | 2. Set the build action to `Content`. 7 | 3. (Recommended) Provide an asset for various scales/dpi 8 | 9 | ## Examples 10 | 11 | ``` 12 | \Assets\Images\logo.scale-100.png 13 | \Assets\Images\logo.scale-200.png 14 | \Assets\Images\logo.scale-400.png 15 | 16 | \Assets\Images\scale-100\logo.png 17 | \Assets\Images\scale-200\logo.png 18 | \Assets\Images\scale\400\logo.png 19 | ``` 20 | 21 | ## Table of scales 22 | 23 | | Scale | UWP | iOS | Android | 24 | |-------|:-----------:|:--------:|:-------:| 25 | | `100` | scale-100 | @1x | mdpi | 26 | | `125` | scale-125 | N/A | N/A | 27 | | `150` | scale-150 | N/A | hdpi | 28 | | `200` | scale-200 | @2x | xhdpi | 29 | | `300` | scale-300 | @3x | xxhdpi | 30 | | `400` | scale-400 | N/A | xxxhdpi | 31 | 32 | 33 | 34 | 35 | -------------------------------------------------------------------------------- /GettingStarted.SfChart/GettingStarted.SfChart.Shared/GettingStarted.SfChart.Shared.projitems: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | $(MSBuildAllProjects);$(MSBuildThisFileFullPath) 5 | true 6 | 6279c845-92f8-4333-ab99-3d213163593c 7 | 8 | 9 | GettingStarted.SfChart.Shared 10 | 11 | 12 | 13 | Designer 14 | MSBuild:Compile 15 | 16 | 17 | 18 | 19 | App.xaml 20 | 21 | 22 | MainPage.xaml 23 | 24 | 25 | 26 | 27 | Designer 28 | MSBuild:Compile 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | -------------------------------------------------------------------------------- /GettingStarted.SfChart/GettingStarted.SfChart.Shared/GettingStarted.SfChart.Shared.shproj: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 6279c845-92f8-4333-ab99-3d213163593c 5 | 14.0 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /GettingStarted.SfChart/GettingStarted.SfChart.Shared/MainPage.xaml: -------------------------------------------------------------------------------- 1 |  10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | -------------------------------------------------------------------------------- /GettingStarted.SfChart/GettingStarted.SfChart.Shared/MainPage.xaml.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.IO; 4 | using System.Linq; 5 | using System.Runtime.InteropServices.WindowsRuntime; 6 | using Windows.Foundation; 7 | using Windows.Foundation.Collections; 8 | using Windows.UI.Xaml; 9 | using Windows.UI.Xaml.Controls; 10 | using Windows.UI.Xaml.Controls.Primitives; 11 | using Windows.UI.Xaml.Data; 12 | using Windows.UI.Xaml.Input; 13 | using Windows.UI.Xaml.Media; 14 | using Windows.UI.Xaml.Navigation; 15 | 16 | // The Blank Page item template is documented at http://go.microsoft.com/fwlink/?LinkId=402352&clcid=0x409 17 | 18 | namespace GettingStarted.SfChart 19 | { 20 | /// 21 | /// An empty page that can be used on its own or navigated to within a Frame. 22 | /// 23 | public sealed partial class MainPage : Page 24 | { 25 | public MainPage() 26 | { 27 | this.InitializeComponent(); 28 | } 29 | } 30 | 31 | public class Person 32 | { 33 | public string Name { get; set; } 34 | 35 | public double Height { get; set; } 36 | } 37 | 38 | public class ViewModel 39 | { 40 | public List Data { get; set; } 41 | 42 | public ViewModel() 43 | { 44 | Data = new List() 45 | { 46 | new Person { Name = "David", Height = 180 }, 47 | new Person { Name = "Michael", Height = 170 }, 48 | new Person { Name = "Steve", Height = 160 }, 49 | new Person { Name = "Joel", Height = 182 } 50 | }; 51 | } 52 | } 53 | } 54 | -------------------------------------------------------------------------------- /GettingStarted.SfChart/GettingStarted.SfChart.Wasm/Assets/SplashScreen.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syncfusion/Uno.SfChart/23b02d85c0dbd0551da312ca98f2c99d5027a145/GettingStarted.SfChart/GettingStarted.SfChart.Wasm/Assets/SplashScreen.png -------------------------------------------------------------------------------- /GettingStarted.SfChart/GettingStarted.SfChart.Wasm/GettingStarted.SfChart.Wasm.csproj: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | Exe 5 | netstandard2.0 6 | true 7 | $(DefineConstants);__WASM__ 8 | NU1701 9 | 10 | 11 | true 12 | $(DefineConstants);TRACE;DEBUG 13 | portable 14 | true 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | -------------------------------------------------------------------------------- /GettingStarted.SfChart/GettingStarted.SfChart.Wasm/LinkerConfig.xml: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /GettingStarted.SfChart/GettingStarted.SfChart.Wasm/Program.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using Windows.UI.Xaml; 3 | 4 | namespace GettingStarted.SfChart.Wasm 5 | { 6 | public class Program 7 | { 8 | private static App _app; 9 | 10 | static int Main(string[] args) 11 | { 12 | Windows.UI.Xaml.Application.Start(_ => _app = new App()); 13 | 14 | return 0; 15 | } 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /GettingStarted.SfChart/GettingStarted.SfChart.Wasm/WasmScripts/AppManifest.js: -------------------------------------------------------------------------------- 1 | var UnoAppManifest = { 2 | 3 | splashScreenImage: "Assets/SplashScreen.png", 4 | splashScreenColor: "#0078D7", 5 | displayName: "GettingStarted.SfChart" 6 | 7 | } 8 | -------------------------------------------------------------------------------- /GettingStarted.SfChart/GettingStarted.SfChart.Wasm/wwwroot/web.config: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | 71 | 72 | 73 | 74 | 75 | 76 | 77 | 78 | 79 | -------------------------------------------------------------------------------- /GettingStarted.SfChart/GettingStarted.SfChart.iOS/Entitlements.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /GettingStarted.SfChart/GettingStarted.SfChart.iOS/Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDisplayName 6 | GettingStarted.SfChart 7 | CFBundleIdentifier 8 | com.Syncfusion.GettingStarted.SfChart 9 | CFBundleShortVersionString 10 | 1.0 11 | CFBundleVersion 12 | 1.0 13 | LSRequiresIPhoneOS 14 | 15 | MinimumOSVersion 16 | 8.0 17 | UIDeviceFamily 18 | 19 | 1 20 | 2 21 | 22 | UILaunchStoryboardName 23 | LaunchScreen 24 | UIRequiredDeviceCapabilities 25 | 26 | armv7 27 | arm64 28 | 29 | UISupportedInterfaceOrientations 30 | 31 | UIInterfaceOrientationPortrait 32 | UIInterfaceOrientationLandscapeLeft 33 | UIInterfaceOrientationLandscapeRight 34 | 35 | UISupportedInterfaceOrientations~ipad 36 | 37 | UIInterfaceOrientationPortrait 38 | UIInterfaceOrientationPortraitUpsideDown 39 | UIInterfaceOrientationLandscapeLeft 40 | UIInterfaceOrientationLandscapeRight 41 | 42 | UIAppFonts 43 | 44 | Fonts/winjs-symbols.ttf 45 | 46 | UIViewControllerBasedStatusBarAppearance 47 | 48 | UILaunchImageMinimumOSVersion 49 | 9.0 50 | UILaunchImageOrientation 51 | Portrait 52 | UILaunchImageSize 53 | {320, 568} 54 | 55 | 56 | -------------------------------------------------------------------------------- /GettingStarted.SfChart/GettingStarted.SfChart.iOS/LaunchScreen.storyboard: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | -------------------------------------------------------------------------------- /GettingStarted.SfChart/GettingStarted.SfChart.iOS/Main.cs: -------------------------------------------------------------------------------- 1 | using UIKit; 2 | 3 | namespace GettingStarted.SfChart.iOS 4 | { 5 | public class Application 6 | { 7 | // This is the main entry point of the application. 8 | static void Main(string[] args) 9 | { 10 | // if you want to use a different Application Delegate class from "AppDelegate" 11 | // you can specify it here. 12 | UIApplication.Main(args, null, typeof(App)); 13 | } 14 | } 15 | } -------------------------------------------------------------------------------- /GettingStarted.SfChart/GettingStarted.SfChart.iOS/Media.xcassets/AppIcons.appiconset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images": [ 3 | { 4 | "scale": "2x", 5 | "size": "29x29", 6 | "idiom": "iphone" 7 | }, 8 | { 9 | "scale": "3x", 10 | "size": "29x29", 11 | "idiom": "iphone" 12 | }, 13 | { 14 | "scale": "2x", 15 | "size": "40x40", 16 | "idiom": "iphone" 17 | }, 18 | { 19 | "scale": "3x", 20 | "size": "60x60", 21 | "idiom": "iphone" 22 | }, 23 | { 24 | "scale": "1x", 25 | "size": "20x20", 26 | "idiom": "ipad" 27 | }, 28 | { 29 | "scale": "2x", 30 | "size": "20x20", 31 | "idiom": "ipad" 32 | }, 33 | { 34 | "scale": "1x", 35 | "size": "29x29", 36 | "idiom": "ipad" 37 | }, 38 | { 39 | "scale": "2x", 40 | "size": "29x29", 41 | "idiom": "ipad" 42 | }, 43 | { 44 | "scale": "1x", 45 | "size": "40x40", 46 | "idiom": "ipad" 47 | }, 48 | { 49 | "scale": "2x", 50 | "size": "40x40", 51 | "idiom": "ipad" 52 | }, 53 | { 54 | "scale": "1x", 55 | "size": "76x76", 56 | "idiom": "ipad" 57 | }, 58 | { 59 | "scale": "2x", 60 | "size": "20x20", 61 | "idiom": "iphone", 62 | "filename": "iPhone-20x20@2x.png" 63 | }, 64 | { 65 | "scale": "3x", 66 | "size": "20x20", 67 | "idiom": "iphone", 68 | "filename": "iPhone-20x20@3x.png" 69 | }, 70 | { 71 | "scale": "3x", 72 | "size": "40x40", 73 | "idiom": "iphone", 74 | "filename": "iPhone-40x40@3x.png" 75 | }, 76 | { 77 | "scale": "2x", 78 | "size": "60x60", 79 | "idiom": "iphone", 80 | "filename": "iPhone-60x60@2x.png" 81 | }, 82 | { 83 | "scale": "2x", 84 | "size": "76x76", 85 | "idiom": "ipad", 86 | "filename": "iPad-76x76@2x.png squaretile-sdk-ipad.png" 87 | }, 88 | { 89 | "scale": "2x", 90 | "size": "83.5x83.5", 91 | "idiom": "ipad", 92 | "filename": "iPad-84x84@2x.png" 93 | }, 94 | { 95 | "scale": "1x", 96 | "size": "1024x1024", 97 | "idiom": "ios-marketing", 98 | "filename": "ios-marketing-1024x1024@1x.png" 99 | } 100 | ], 101 | "properties": {}, 102 | "info": { 103 | "version": 1, 104 | "author": "xcode" 105 | } 106 | } 107 | -------------------------------------------------------------------------------- /GettingStarted.SfChart/GettingStarted.SfChart.iOS/Media.xcassets/AppIcons.appiconset/iPad-76x76@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syncfusion/Uno.SfChart/23b02d85c0dbd0551da312ca98f2c99d5027a145/GettingStarted.SfChart/GettingStarted.SfChart.iOS/Media.xcassets/AppIcons.appiconset/iPad-76x76@2x.png -------------------------------------------------------------------------------- /GettingStarted.SfChart/GettingStarted.SfChart.iOS/Media.xcassets/AppIcons.appiconset/iPad-84x84@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syncfusion/Uno.SfChart/23b02d85c0dbd0551da312ca98f2c99d5027a145/GettingStarted.SfChart/GettingStarted.SfChart.iOS/Media.xcassets/AppIcons.appiconset/iPad-84x84@2x.png -------------------------------------------------------------------------------- /GettingStarted.SfChart/GettingStarted.SfChart.iOS/Media.xcassets/AppIcons.appiconset/iPhone-20x20@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syncfusion/Uno.SfChart/23b02d85c0dbd0551da312ca98f2c99d5027a145/GettingStarted.SfChart/GettingStarted.SfChart.iOS/Media.xcassets/AppIcons.appiconset/iPhone-20x20@2x.png -------------------------------------------------------------------------------- /GettingStarted.SfChart/GettingStarted.SfChart.iOS/Media.xcassets/AppIcons.appiconset/iPhone-20x20@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syncfusion/Uno.SfChart/23b02d85c0dbd0551da312ca98f2c99d5027a145/GettingStarted.SfChart/GettingStarted.SfChart.iOS/Media.xcassets/AppIcons.appiconset/iPhone-20x20@3x.png -------------------------------------------------------------------------------- /GettingStarted.SfChart/GettingStarted.SfChart.iOS/Media.xcassets/AppIcons.appiconset/iPhone-40x40@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syncfusion/Uno.SfChart/23b02d85c0dbd0551da312ca98f2c99d5027a145/GettingStarted.SfChart/GettingStarted.SfChart.iOS/Media.xcassets/AppIcons.appiconset/iPhone-40x40@3x.png -------------------------------------------------------------------------------- /GettingStarted.SfChart/GettingStarted.SfChart.iOS/Media.xcassets/AppIcons.appiconset/iPhone-60x60@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syncfusion/Uno.SfChart/23b02d85c0dbd0551da312ca98f2c99d5027a145/GettingStarted.SfChart/GettingStarted.SfChart.iOS/Media.xcassets/AppIcons.appiconset/iPhone-60x60@2x.png -------------------------------------------------------------------------------- /GettingStarted.SfChart/GettingStarted.SfChart.iOS/Media.xcassets/AppIcons.appiconset/ios-marketing-1024x1024@1x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syncfusion/Uno.SfChart/23b02d85c0dbd0551da312ca98f2c99d5027a145/GettingStarted.SfChart/GettingStarted.SfChart.iOS/Media.xcassets/AppIcons.appiconset/ios-marketing-1024x1024@1x.png -------------------------------------------------------------------------------- /GettingStarted.SfChart/GettingStarted.SfChart.iOS/Media.xcassets/LaunchImages.launchimage/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images": [ 3 | { 4 | "orientation": "portrait", 5 | "extent": "full-screen", 6 | "minimum-system-version": "7.0", 7 | "scale": "2x", 8 | "size": "640x960", 9 | "idiom": "iphone" 10 | }, 11 | { 12 | "orientation": "portrait", 13 | "extent": "full-screen", 14 | "minimum-system-version": "7.0", 15 | "subtype": "retina4", 16 | "scale": "2x", 17 | "size": "640x1136", 18 | "idiom": "iphone" 19 | }, 20 | { 21 | "orientation": "portrait", 22 | "extent": "full-screen", 23 | "minimum-system-version": "7.0", 24 | "scale": "1x", 25 | "size": "768x1024", 26 | "idiom": "ipad" 27 | }, 28 | { 29 | "orientation": "landscape", 30 | "extent": "full-screen", 31 | "minimum-system-version": "7.0", 32 | "scale": "1x", 33 | "size": "1024x768", 34 | "idiom": "ipad" 35 | }, 36 | { 37 | "orientation": "portrait", 38 | "extent": "full-screen", 39 | "minimum-system-version": "7.0", 40 | "scale": "2x", 41 | "size": "1536x2048", 42 | "idiom": "ipad" 43 | }, 44 | { 45 | "orientation": "landscape", 46 | "extent": "full-screen", 47 | "minimum-system-version": "7.0", 48 | "scale": "2x", 49 | "size": "2048x1536", 50 | "idiom": "ipad" 51 | } 52 | ], 53 | "properties": {}, 54 | "info": { 55 | "version": 1, 56 | "author": "" 57 | } 58 | } -------------------------------------------------------------------------------- /GettingStarted.SfChart/GettingStarted.SfChart.iOS/Properties/AssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | using System.Reflection; 2 | using System.Runtime.CompilerServices; 3 | using System.Runtime.InteropServices; 4 | 5 | // General Information about an assembly is controlled through the following 6 | // set of attributes. Change these attribute values to modify the information 7 | // associated with an assembly. 8 | [assembly: AssemblyTitle("GettingStarted.SfChart.iOS")] 9 | [assembly: AssemblyDescription("")] 10 | [assembly: AssemblyConfiguration("")] 11 | [assembly: AssemblyCompany("")] 12 | [assembly: AssemblyProduct("GettingStarted.SfChart.iOS")] 13 | [assembly: AssemblyCopyright("Copyright © 2020")] 14 | [assembly: AssemblyTrademark("")] 15 | [assembly: AssemblyCulture("")] 16 | 17 | // Setting ComVisible to false makes the types in this assembly not visible 18 | // to COM components. If you need to access a type in this assembly from 19 | // COM, set the ComVisible attribute to true on that type. 20 | [assembly: ComVisible(false)] 21 | 22 | // The following GUID is for the ID of the typelib if this project is exposed to COM 23 | [assembly: Guid("166de4ca-8f11-4ef9-bcf8-3e7834988e7d")] 24 | 25 | // Version information for an assembly consists of the following four values: 26 | // 27 | // Major Version 28 | // Minor Version 29 | // Build Number 30 | // Revision 31 | // 32 | // You can specify all the values or you can default the Build and Revision Numbers 33 | // by using the '*' as shown below: 34 | // [assembly: AssemblyVersion("1.0.*")] 35 | [assembly: AssemblyVersion("1.0.0.0")] 36 | [assembly: AssemblyFileVersion("1.0.0.0")] 37 | -------------------------------------------------------------------------------- /GettingStarted.SfChart/GettingStarted.SfChart.iOS/Resources/Default-568h@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syncfusion/Uno.SfChart/23b02d85c0dbd0551da312ca98f2c99d5027a145/GettingStarted.SfChart/GettingStarted.SfChart.iOS/Resources/Default-568h@2x.png -------------------------------------------------------------------------------- /GettingStarted.SfChart/GettingStarted.SfChart.iOS/Resources/Fonts/winjs-symbols.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syncfusion/Uno.SfChart/23b02d85c0dbd0551da312ca98f2c99d5027a145/GettingStarted.SfChart/GettingStarted.SfChart.iOS/Resources/Fonts/winjs-symbols.ttf -------------------------------------------------------------------------------- /GettingStarted.SfChart/GettingStarted.SfChart.iOS/Resources/SplashScreen@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syncfusion/Uno.SfChart/23b02d85c0dbd0551da312ca98f2c99d5027a145/GettingStarted.SfChart/GettingStarted.SfChart.iOS/Resources/SplashScreen@2x.png -------------------------------------------------------------------------------- /GettingStarted.SfChart/GettingStarted.SfChart.iOS/Resources/SplashScreen@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syncfusion/Uno.SfChart/23b02d85c0dbd0551da312ca98f2c99d5027a145/GettingStarted.SfChart/GettingStarted.SfChart.iOS/Resources/SplashScreen@3x.png -------------------------------------------------------------------------------- /Images/GettingStarted.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syncfusion/Uno.SfChart/23b02d85c0dbd0551da312ca98f2c99d5027a145/Images/GettingStarted.png -------------------------------------------------------------------------------- /Images/SyncfusionChartDemo.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syncfusion/Uno.SfChart/23b02d85c0dbd0551da312ca98f2c99d5027a145/Images/SyncfusionChartDemo.gif -------------------------------------------------------------------------------- /Images/SyncfusionUnoChart.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syncfusion/Uno.SfChart/23b02d85c0dbd0551da312ca98f2c99d5027a145/Images/SyncfusionUnoChart.gif -------------------------------------------------------------------------------- /LICENSE.MD: -------------------------------------------------------------------------------- 1 | This product is licensed under the terms of the Syncfusion End User License Agreement available [here](https://www.syncfusion.com/eula/es). 2 | 3 | Eligible customers may also obtain a free community license [here](https://www.syncfusion.com/products/communitylicense). 4 | 5 | In addition, during the beta period everyone is allowed to use the Syncfusion Uno controls free of charge. 6 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Syncfusion Uno Chart Control - Beta 2 | **Chart** provides a perfect way to visualize data with a high level of user interactivity that focuses on development, productivity and simplicity of use. **Chart** also provides a wide variety of charting features that are used to visualize large quantities of data, flexible data binding and user customization. 3 | 4 | 5 | 6 | ## Features 7 | 8 | Check out the feature list of our first Uno Chart below: 9 | 10 | - Visualize and analyze data with ever-expanding 10+ charts and graphs ranging from line to pie charts. 11 | - Interact with and explore charts with features such as zoom and pan, tooltip, and data labels. 12 | 13 | ### Chart Types 14 | 15 | The Uno Chart control includes functionality for plotting more than 10 chart types. Each chart type is easily configured with built-in support for creating stunning visual effects. 16 | 17 | - **Basic Charts** 18 | - Column Chart 19 | - Bar Chart 20 | - Line Chart 21 | - Spline Chart 22 | - Area Chart 23 | - SplineArea Chart 24 | - Area Chart 25 | - **Correlation Charts** 26 | - Scatter Chart 27 | - Bubble Chart 28 | - **Circular Charts** 29 | - Pie Chart 30 | - Doughnut Chart 31 | - Semi PieChart 32 | - Semi DoughnutChart 33 | - Stacked DoughnutChart 34 | 35 | ### Chart axis 36 | 37 | The Uno Chart control supports three different types of axes: **numerical, categorical,** and **date-time**. The appearance of all chart axis elements can be customized with built-in properties. 38 | 39 | ### Data Labels 40 | 41 | Data points can be easily annotated with labels to help improve the readability of data. 42 | 43 | ### Legends 44 | 45 | Legends provide additional information that is helpful in identifying individual series in a chart. They can be docked to the left, right, top, or bottom positions around the chart area. 46 | 47 | ### Interactive Features 48 | 49 | The end-user experience is greatly enhanced by a set of user interaction features: zooming, panning, and tooltip. 50 | 51 | ## Getting started 52 | 53 | This section explains how to add the Synfusion Uno Charts to your application and use its basic features. 54 | 55 | **Step 1** 56 | Add Syncfusion.SfChart.Uno source project to your application. 57 | 58 | **Step 2** 59 | Reference the source in the projects of all the platforms. 60 | 61 | **Step 3** 62 | Import the SfChart namespace as shown below in your respective Page, 63 | ```xml 64 | xmlns:syncfusion="using:Syncfusion.UI.Xaml.Charts" 65 | ``` 66 | **Step 4** 67 | Then initialize an empty chart with two axes as shown below, 68 | ```xml 69 | 70 | 71 | 72 | 73 | 74 | 75 | 76 | 77 | ``` 78 | **Step 5** 79 | 80 | **Populate Chart with data** - As we are going to visualize the comparison of heights in the data model, add ColumnSeries to SfChart.Series property, and then bind the Data property of the ViewModel to the ColumnSeries.ItemsSource property and You need to set XBindingPath and YBindingPath properties, so that SfChart would fetch values from the respective properties in the data model to plot the series. 81 | 82 | ```xml 83 | 84 | 85 | 86 | 87 | 88 | 89 | 90 | 91 | 92 | 93 | 94 | 95 | 96 | ``` 97 | The following chart is created as a result of the above codes. 98 | 99 | 100 | 101 | ## Example applications 102 | 103 | You will also find a Visual Studio solution with the SampleBrowser.SfChart application. It demonstrates some basic chart features. Here are outputs of the application below: 104 | 105 | 106 | -------------------------------------------------------------------------------- /SampleBrowser/SampleBrowser.SfChart.Droid/Assets/AboutAssets.txt: -------------------------------------------------------------------------------- 1 | Any raw assets you want to be deployed with your application can be placed in 2 | this directory (and child directories) and given a Build Action of "AndroidAsset". 3 | 4 | These files will be deployed with you package and will be accessible using Android's 5 | AssetManager, like this: 6 | 7 | public class ReadAsset : Activity 8 | { 9 | protected override void OnCreate (Bundle bundle) 10 | { 11 | base.OnCreate (bundle); 12 | 13 | InputStream input = Assets.Open ("my_asset.txt"); 14 | } 15 | } 16 | 17 | Additionally, some Android functions will automatically load asset files: 18 | 19 | Typeface tf = Typeface.CreateFromAsset (Context.Assets, "fonts/samplefont.ttf"); -------------------------------------------------------------------------------- /SampleBrowser/SampleBrowser.SfChart.Droid/Assets/Fonts/winjs-symbols.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syncfusion/Uno.SfChart/23b02d85c0dbd0551da312ca98f2c99d5027a145/SampleBrowser/SampleBrowser.SfChart.Droid/Assets/Fonts/winjs-symbols.ttf -------------------------------------------------------------------------------- /SampleBrowser/SampleBrowser.SfChart.Droid/Main.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | 6 | using Android.App; 7 | using Android.Content; 8 | using Android.OS; 9 | using Android.Runtime; 10 | using Android.Views; 11 | using Android.Widget; 12 | using Com.Nostra13.Universalimageloader.Core; 13 | using Windows.UI.Xaml.Media; 14 | 15 | namespace SampleBrowser.SfChart.Droid 16 | { 17 | [global::Android.App.ApplicationAttribute( 18 | Label = "@string/ApplicationName", 19 | LargeHeap = true, 20 | HardwareAccelerated = true, 21 | Theme = "@style/AppTheme" 22 | )] 23 | public class Application : Windows.UI.Xaml.NativeApplication 24 | { 25 | public Application(IntPtr javaReference, JniHandleOwnership transfer) 26 | : base(() => new App(), javaReference, transfer) 27 | { 28 | ConfigureUniversalImageLoader(); 29 | } 30 | 31 | private void ConfigureUniversalImageLoader() 32 | { 33 | // Create global configuration and initialize ImageLoader with this config 34 | ImageLoaderConfiguration config = new ImageLoaderConfiguration 35 | .Builder(Context) 36 | .Build(); 37 | 38 | ImageLoader.Instance.Init(config); 39 | 40 | ImageSource.DefaultImageLoader = ImageLoader.Instance.LoadImageAsync; 41 | } 42 | } 43 | } 44 | -------------------------------------------------------------------------------- /SampleBrowser/SampleBrowser.SfChart.Droid/MainActivity.cs: -------------------------------------------------------------------------------- 1 | using Android.App; 2 | using Android.Widget; 3 | using Android.OS; 4 | using Android.Content.PM; 5 | using Android.Views; 6 | 7 | namespace SampleBrowser.SfChart.Droid 8 | { 9 | [Activity( 10 | MainLauncher = true, 11 | ConfigurationChanges = Uno.UI.ActivityHelper.AllConfigChanges, 12 | WindowSoftInputMode = SoftInput.AdjustPan | SoftInput.StateHidden 13 | )] 14 | public class MainActivity : Windows.UI.Xaml.ApplicationActivity 15 | { 16 | } 17 | } 18 | 19 | -------------------------------------------------------------------------------- /SampleBrowser/SampleBrowser.SfChart.Droid/Properties/AndroidManifest.xml: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /SampleBrowser/SampleBrowser.SfChart.Droid/Properties/AssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | using System.Reflection; 2 | using System.Runtime.CompilerServices; 3 | using System.Runtime.InteropServices; 4 | using Android.App; 5 | 6 | // General Information about an assembly is controlled through the following 7 | // set of attributes. Change these attribute values to modify the information 8 | // associated with an assembly. 9 | [assembly: AssemblyTitle("SampleBrowser.SfChart.Droid")] 10 | [assembly: AssemblyDescription("")] 11 | [assembly: AssemblyConfiguration("")] 12 | [assembly: AssemblyCompany("")] 13 | [assembly: AssemblyProduct("SampleBrowser.SfChart.Droid")] 14 | [assembly: AssemblyCopyright("Copyright © 2020")] 15 | [assembly: AssemblyTrademark("")] 16 | [assembly: AssemblyCulture("")] 17 | [assembly: ComVisible(false)] 18 | 19 | // Version information for an assembly consists of the following four values: 20 | // 21 | // Major Version 22 | // Minor Version 23 | // Build Number 24 | // Revision 25 | // 26 | // You can specify all the values or you can default the Build and Revision Numbers 27 | // by using the '*' as shown below: 28 | // [assembly: AssemblyVersion("1.0.*")] 29 | [assembly: AssemblyVersion("1.0.0.0")] 30 | [assembly: AssemblyFileVersion("1.0.0.0")] 31 | -------------------------------------------------------------------------------- /SampleBrowser/SampleBrowser.SfChart.Droid/Resources/AboutResources.txt: -------------------------------------------------------------------------------- 1 | Images, layout descriptions, binary blobs and string dictionaries can be included 2 | in your application as resource files. Various Android APIs are designed to 3 | operate on the resource IDs instead of dealing with images, strings or binary blobs 4 | directly. 5 | 6 | For example, a sample Android app that contains a user interface layout (main.axml), 7 | an internationalization string table (strings.xml) and some icons (drawable-XXX/icon.png) 8 | would keep its resources in the "Resources" directory of the application: 9 | 10 | Resources/ 11 | drawable/ 12 | icon.png 13 | 14 | layout/ 15 | main.axml 16 | 17 | values/ 18 | strings.xml 19 | 20 | In order to get the build system to recognize Android resources, set the build action to 21 | "AndroidResource". The native Android APIs do not operate directly with filenames, but 22 | instead operate on resource IDs. When you compile an Android application that uses resources, 23 | the build system will package the resources for distribution and generate a class called "R" 24 | (this is an Android convention) that contains the tokens for each one of the resources 25 | included. For example, for the above Resources layout, this is what the R class would expose: 26 | 27 | public class R { 28 | public class drawable { 29 | public const int icon = 0x123; 30 | } 31 | 32 | public class layout { 33 | public const int main = 0x456; 34 | } 35 | 36 | public class strings { 37 | public const int first_string = 0xabc; 38 | public const int second_string = 0xbcd; 39 | } 40 | } 41 | 42 | You would then use R.drawable.icon to reference the drawable/icon.png file, or R.layout.main 43 | to reference the layout/main.axml file, or R.strings.first_string to reference the first 44 | string in the dictionary file values/strings.xml. -------------------------------------------------------------------------------- /SampleBrowser/SampleBrowser.SfChart.Droid/Resources/drawable/Icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syncfusion/Uno.SfChart/23b02d85c0dbd0551da312ca98f2c99d5027a145/SampleBrowser/SampleBrowser.SfChart.Droid/Resources/drawable/Icon.png -------------------------------------------------------------------------------- /SampleBrowser/SampleBrowser.SfChart.Droid/Resources/values/Strings.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | Hello World, Click Me! 4 | SampleBrowser.SfChart 5 | 6 | -------------------------------------------------------------------------------- /SampleBrowser/SampleBrowser.SfChart.Droid/Resources/values/Styles.xml: -------------------------------------------------------------------------------- 1 |  2 | 3 | 12 | -------------------------------------------------------------------------------- /SampleBrowser/SampleBrowser.SfChart.Droid/SampleBrowser.SfChart.Droid.csproj.user: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 10-1_tablet_-_api28 5 | 10-1_tablet_-_api28 6 | 10-1_tablet_-_api28 7 | 8 | -------------------------------------------------------------------------------- /SampleBrowser/SampleBrowser.SfChart.Shared/App.xaml: -------------------------------------------------------------------------------- 1 |  6 | 7 | 8 | -------------------------------------------------------------------------------- /SampleBrowser/SampleBrowser.SfChart.Shared/Assets/AreaChart.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syncfusion/Uno.SfChart/23b02d85c0dbd0551da312ca98f2c99d5027a145/SampleBrowser/SampleBrowser.SfChart.Shared/Assets/AreaChart.png -------------------------------------------------------------------------------- /SampleBrowser/SampleBrowser.SfChart.Shared/Assets/BarChart.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syncfusion/Uno.SfChart/23b02d85c0dbd0551da312ca98f2c99d5027a145/SampleBrowser/SampleBrowser.SfChart.Shared/Assets/BarChart.png -------------------------------------------------------------------------------- /SampleBrowser/SampleBrowser.SfChart.Shared/Assets/BubbleChart.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syncfusion/Uno.SfChart/23b02d85c0dbd0551da312ca98f2c99d5027a145/SampleBrowser/SampleBrowser.SfChart.Shared/Assets/BubbleChart.png -------------------------------------------------------------------------------- /SampleBrowser/SampleBrowser.SfChart.Shared/Assets/ColumnChart.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syncfusion/Uno.SfChart/23b02d85c0dbd0551da312ca98f2c99d5027a145/SampleBrowser/SampleBrowser.SfChart.Shared/Assets/ColumnChart.png -------------------------------------------------------------------------------- /SampleBrowser/SampleBrowser.SfChart.Shared/Assets/DoughnutChart.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syncfusion/Uno.SfChart/23b02d85c0dbd0551da312ca98f2c99d5027a145/SampleBrowser/SampleBrowser.SfChart.Shared/Assets/DoughnutChart.png -------------------------------------------------------------------------------- /SampleBrowser/SampleBrowser.SfChart.Shared/Assets/LineChart.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syncfusion/Uno.SfChart/23b02d85c0dbd0551da312ca98f2c99d5027a145/SampleBrowser/SampleBrowser.SfChart.Shared/Assets/LineChart.png -------------------------------------------------------------------------------- /SampleBrowser/SampleBrowser.SfChart.Shared/Assets/Person.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syncfusion/Uno.SfChart/23b02d85c0dbd0551da312ca98f2c99d5027a145/SampleBrowser/SampleBrowser.SfChart.Shared/Assets/Person.png -------------------------------------------------------------------------------- /SampleBrowser/SampleBrowser.SfChart.Shared/Assets/PieChart.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syncfusion/Uno.SfChart/23b02d85c0dbd0551da312ca98f2c99d5027a145/SampleBrowser/SampleBrowser.SfChart.Shared/Assets/PieChart.png -------------------------------------------------------------------------------- /SampleBrowser/SampleBrowser.SfChart.Shared/Assets/RadarChart.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syncfusion/Uno.SfChart/23b02d85c0dbd0551da312ca98f2c99d5027a145/SampleBrowser/SampleBrowser.SfChart.Shared/Assets/RadarChart.png -------------------------------------------------------------------------------- /SampleBrowser/SampleBrowser.SfChart.Shared/Assets/RangeChart.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syncfusion/Uno.SfChart/23b02d85c0dbd0551da312ca98f2c99d5027a145/SampleBrowser/SampleBrowser.SfChart.Shared/Assets/RangeChart.png -------------------------------------------------------------------------------- /SampleBrowser/SampleBrowser.SfChart.Shared/Assets/ScatterChart.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syncfusion/Uno.SfChart/23b02d85c0dbd0551da312ca98f2c99d5027a145/SampleBrowser/SampleBrowser.SfChart.Shared/Assets/ScatterChart.png -------------------------------------------------------------------------------- /SampleBrowser/SampleBrowser.SfChart.Shared/Assets/SharedAssets.md: -------------------------------------------------------------------------------- 1 | See documentation about assets here : https://github.com/unoplatform/uno/blob/master/doc/articles/features/working-with-assets.md 2 | 3 | # Here is a cheat sheet: 4 | 5 | 1. Add the image file to the `Assets` directory of a shared project. 6 | 2. Set the build action to `Content`. 7 | 3. (Recommended) Provide an asset for various scales/dpi 8 | 9 | ## Examples 10 | 11 | ``` 12 | \Assets\Images\logo.scale-100.png 13 | \Assets\Images\logo.scale-200.png 14 | \Assets\Images\logo.scale-400.png 15 | 16 | \Assets\Images\scale-100\logo.png 17 | \Assets\Images\scale-200\logo.png 18 | \Assets\Images\scale\400\logo.png 19 | ``` 20 | 21 | ## Table of scales 22 | 23 | | Scale | UWP | iOS | Android | 24 | |-------|:-----------:|:--------:|:-------:| 25 | | `100` | scale-100 | @1x | mdpi | 26 | | `125` | scale-125 | N/A | N/A | 27 | | `150` | scale-150 | N/A | hdpi | 28 | | `200` | scale-200 | @2x | xhdpi | 29 | | `300` | scale-300 | @3x | xxhdpi | 30 | | `400` | scale-400 | N/A | xxxhdpi | 31 | 32 | 33 | 34 | 35 | -------------------------------------------------------------------------------- /SampleBrowser/SampleBrowser.SfChart.Shared/Assets/StackedChart.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syncfusion/Uno.SfChart/23b02d85c0dbd0551da312ca98f2c99d5027a145/SampleBrowser/SampleBrowser.SfChart.Shared/Assets/StackedChart.png -------------------------------------------------------------------------------- /SampleBrowser/SampleBrowser.SfChart.Shared/Assets/TriangularChart.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syncfusion/Uno.SfChart/23b02d85c0dbd0551da312ca98f2c99d5027a145/SampleBrowser/SampleBrowser.SfChart.Shared/Assets/TriangularChart.png -------------------------------------------------------------------------------- /SampleBrowser/SampleBrowser.SfChart.Shared/Assets/axis.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syncfusion/Uno.SfChart/23b02d85c0dbd0551da312ca98f2c99d5027a145/SampleBrowser/SampleBrowser.SfChart.Shared/Assets/axis.png -------------------------------------------------------------------------------- /SampleBrowser/SampleBrowser.SfChart.Shared/Assets/line.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syncfusion/Uno.SfChart/23b02d85c0dbd0551da312ca98f2c99d5027a145/SampleBrowser/SampleBrowser.SfChart.Shared/Assets/line.png -------------------------------------------------------------------------------- /SampleBrowser/SampleBrowser.SfChart.Shared/Assets/lockscreenlogo.scale-200.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syncfusion/Uno.SfChart/23b02d85c0dbd0551da312ca98f2c99d5027a145/SampleBrowser/SampleBrowser.SfChart.Shared/Assets/lockscreenlogo.scale-200.png -------------------------------------------------------------------------------- /SampleBrowser/SampleBrowser.SfChart.Shared/Assets/splashscreen.scale-200.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syncfusion/Uno.SfChart/23b02d85c0dbd0551da312ca98f2c99d5027a145/SampleBrowser/SampleBrowser.SfChart.Shared/Assets/splashscreen.scale-200.png -------------------------------------------------------------------------------- /SampleBrowser/SampleBrowser.SfChart.Shared/Assets/square150x150logo.scale-200.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syncfusion/Uno.SfChart/23b02d85c0dbd0551da312ca98f2c99d5027a145/SampleBrowser/SampleBrowser.SfChart.Shared/Assets/square150x150logo.scale-200.png -------------------------------------------------------------------------------- /SampleBrowser/SampleBrowser.SfChart.Shared/Assets/square44x44logo.scale-200.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syncfusion/Uno.SfChart/23b02d85c0dbd0551da312ca98f2c99d5027a145/SampleBrowser/SampleBrowser.SfChart.Shared/Assets/square44x44logo.scale-200.png -------------------------------------------------------------------------------- /SampleBrowser/SampleBrowser.SfChart.Shared/Assets/square44x44logo.targetsize-24_altform-unplated.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syncfusion/Uno.SfChart/23b02d85c0dbd0551da312ca98f2c99d5027a145/SampleBrowser/SampleBrowser.SfChart.Shared/Assets/square44x44logo.targetsize-24_altform-unplated.png -------------------------------------------------------------------------------- /SampleBrowser/SampleBrowser.SfChart.Shared/Assets/storelogo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syncfusion/Uno.SfChart/23b02d85c0dbd0551da312ca98f2c99d5027a145/SampleBrowser/SampleBrowser.SfChart.Shared/Assets/storelogo.png -------------------------------------------------------------------------------- /SampleBrowser/SampleBrowser.SfChart.Shared/Assets/wide310x150logo.scale-200.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syncfusion/Uno.SfChart/23b02d85c0dbd0551da312ca98f2c99d5027a145/SampleBrowser/SampleBrowser.SfChart.Shared/Assets/wide310x150logo.scale-200.png -------------------------------------------------------------------------------- /SampleBrowser/SampleBrowser.SfChart.Shared/MainPage.xaml: -------------------------------------------------------------------------------- 1 |  10 | 11 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | 62 | 63 | 64 | 68 | 69 | 70 | 71 | 72 | -------------------------------------------------------------------------------- /SampleBrowser/SampleBrowser.SfChart.Shared/MainPage.xaml.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.IO; 4 | using System.Linq; 5 | using System.Runtime.InteropServices.WindowsRuntime; 6 | using Windows.Foundation; 7 | using Windows.Foundation.Collections; 8 | using Windows.UI.Xaml; 9 | using Windows.UI.Xaml.Controls; 10 | using Windows.UI.Xaml.Controls.Primitives; 11 | using Windows.UI.Xaml.Data; 12 | using Windows.UI.Xaml.Input; 13 | using Windows.UI.Xaml.Media; 14 | using Windows.UI.Xaml.Navigation; 15 | 16 | // The Blank Page item template is documented at http://go.microsoft.com/fwlink/?LinkId=402352&clcid=0x409 17 | 18 | namespace SampleBrowser.SfChart 19 | { 20 | /// 21 | /// An empty page that can be used on its own or navigated to within a Frame. 22 | /// 23 | public sealed partial class MainPage : Page 24 | { 25 | public MainPage() 26 | { 27 | this.InitializeComponent(); 28 | 29 | navigationView.PaneHeader = new TextBlock() 30 | { 31 | Text = "Syncfusion Uno Chart", 32 | FontSize = 18, 33 | Margin = new Thickness(5), 34 | HorizontalAlignment = HorizontalAlignment.Left, 35 | VerticalAlignment = VerticalAlignment.Center 36 | }; 37 | } 38 | 39 | private void NavigationViewItem_Tapped(object sender, TappedRoutedEventArgs e) 40 | { 41 | NavigatePage(sender); 42 | } 43 | 44 | void NavigatePage(object sender) 45 | { 46 | syncLabel.Visibility = Visibility.Collapsed; 47 | string item = (string)(sender as NavigationViewItem).Tag; 48 | switch (item) 49 | { 50 | case "Column": 51 | contentFrame.Navigate(typeof(ColumnChartView)); 52 | break; 53 | case "Bar": 54 | contentFrame.Navigate(typeof(BarChartView)); 55 | break; 56 | case "Line": 57 | contentFrame.Navigate(typeof(LineChartView)); 58 | break; 59 | case "Area": 60 | contentFrame.Navigate(typeof(AreaChartView)); 61 | break; 62 | case "Scatter": 63 | contentFrame.Navigate(typeof(ScatterChartView)); 64 | break; 65 | case "Pie": 66 | contentFrame.Navigate(typeof(PieChartView)); 67 | break; 68 | case "Doughnut": 69 | contentFrame.Navigate(typeof(DoughtnutChartView)); 70 | break; 71 | case "Bubble": 72 | contentFrame.Navigate(typeof(BubbleChartView)); 73 | break; 74 | case "Axis": 75 | contentFrame.Navigate(typeof(ChartAxisType)); 76 | break; 77 | } 78 | } 79 | 80 | 81 | private void NavigationView_SelectionChanged(NavigationView sender, NavigationViewSelectionChangedEventArgs args) 82 | { 83 | NavigatePage(args.SelectedItem); 84 | } 85 | } 86 | 87 | 88 | } 89 | 90 | 91 | 92 | -------------------------------------------------------------------------------- /SampleBrowser/SampleBrowser.SfChart.Shared/Model/LineChartModel.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Text; 4 | 5 | namespace SampleBrowser.SfChart 6 | { 7 | public class LineModel 8 | { 9 | public LineModel() 10 | { 11 | 12 | } 13 | public LineModel(double yVal1, double yVal2, double size, string str) 14 | { 15 | YValue = yVal1; 16 | Value = yVal2; 17 | Size = size; 18 | XValue = str; 19 | } 20 | public string XValue { get; set; } 21 | 22 | public double YValue { get; set; } 23 | 24 | public double Value { get; set; } 25 | 26 | public double Size { get; set; } 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /SampleBrowser/SampleBrowser.SfChart.Shared/Model/PieChartModel.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Text; 4 | 5 | namespace SampleBrowser.SfChart 6 | { 7 | public class Populations 8 | { 9 | public string Continent { get; set; } 10 | 11 | public string Countries { get; set; } 12 | 13 | public string States { get; set; } 14 | 15 | public double PopulationinStates { get; set; } 16 | 17 | public double PopulationinCountries { get; set; } 18 | 19 | public double PopulationinContinents { get; set; } 20 | } 21 | public class Model 22 | { 23 | public string Country { get; set; } 24 | 25 | public string Name { get; set; } 26 | public double Count { get; set; } 27 | 28 | public string Year { get; set; } 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /SampleBrowser/SampleBrowser.SfChart.Shared/Model/PlantDataModel.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Text; 4 | 5 | namespace SampleBrowser.SfChart 6 | { 7 | public class PlantData 8 | { 9 | public string Direction { get; set; } 10 | public double Weed { get; set; } 11 | public double Flower { get; set; } 12 | public double Tree { get; set; } 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /SampleBrowser/SampleBrowser.SfChart.Shared/Model/StackedChartModel.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Text; 4 | 5 | namespace SampleBrowser.SfChart 6 | { 7 | public class StackedModel 8 | { 9 | public string CountryName { get; set; } 10 | 11 | public double GoldMedals { get; set; } 12 | 13 | public double SilverMedals { get; set; } 14 | 15 | public double BronzeMedals { get; set; } 16 | 17 | } 18 | 19 | public class Accidents 20 | { 21 | public DateTime Month { get; set; } 22 | public double Bus { get; set; } 23 | public double Car { get; set; } 24 | public double Truck { get; set; } 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /SampleBrowser/SampleBrowser.SfChart.Shared/Model/TriangularChartModel.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Text; 4 | 5 | namespace SampleBrowser.SfChart 6 | { 7 | public class TriangularModel 8 | { 9 | public string Category { get; set; } 10 | public double Percentage { get; set; } 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /SampleBrowser/SampleBrowser.SfChart.Shared/SampleBrowser.SfChart.Shared.shproj: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 6279c845-92f8-4333-ab99-3d213163593c 5 | 14.0 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /SampleBrowser/SampleBrowser.SfChart.Shared/View/AreaChartView.xaml.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.IO; 4 | using System.Linq; 5 | using System.Runtime.InteropServices.WindowsRuntime; 6 | using Windows.Foundation; 7 | using Windows.Foundation.Collections; 8 | using Windows.UI.Xaml; 9 | using Windows.UI.Xaml.Controls; 10 | using Windows.UI.Xaml.Controls.Primitives; 11 | using Windows.UI.Xaml.Data; 12 | using Windows.UI.Xaml.Input; 13 | using Windows.UI.Xaml.Media; 14 | using Windows.UI.Xaml.Navigation; 15 | 16 | // The Blank Page item template is documented at https://go.microsoft.com/fwlink/?LinkId=234238 17 | 18 | namespace SampleBrowser.SfChart 19 | { 20 | /// 21 | /// An empty page that can be used on its own or navigated to within a Frame. 22 | /// 23 | public sealed partial class AreaChartView : Page 24 | { 25 | public AreaChartView() 26 | { 27 | this.InitializeComponent(); 28 | } 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /SampleBrowser/SampleBrowser.SfChart.Shared/View/BarChartView.xaml.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.IO; 4 | using System.Linq; 5 | using System.Runtime.InteropServices.WindowsRuntime; 6 | using Windows.Foundation; 7 | using Windows.Foundation.Collections; 8 | using Windows.UI.Xaml; 9 | using Windows.UI.Xaml.Controls; 10 | using Windows.UI.Xaml.Controls.Primitives; 11 | using Windows.UI.Xaml.Data; 12 | using Windows.UI.Xaml.Input; 13 | using Windows.UI.Xaml.Media; 14 | using Windows.UI.Xaml.Navigation; 15 | 16 | // The Blank Page item template is documented at https://go.microsoft.com/fwlink/?LinkId=234238 17 | 18 | namespace SampleBrowser.SfChart 19 | { 20 | /// 21 | /// An empty page that can be used on its own or navigated to within a Frame. 22 | /// 23 | public sealed partial class BarChartView : Page 24 | { 25 | public BarChartView() 26 | { 27 | this.InitializeComponent(); 28 | } 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /SampleBrowser/SampleBrowser.SfChart.Shared/View/BubbleChartView.xaml.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.IO; 4 | using System.Linq; 5 | using System.Runtime.InteropServices.WindowsRuntime; 6 | using Windows.Foundation; 7 | using Windows.Foundation.Collections; 8 | using Windows.UI.Xaml; 9 | using Windows.UI.Xaml.Controls; 10 | using Windows.UI.Xaml.Controls.Primitives; 11 | using Windows.UI.Xaml.Data; 12 | using Windows.UI.Xaml.Input; 13 | using Windows.UI.Xaml.Media; 14 | using Windows.UI.Xaml.Navigation; 15 | 16 | // The Blank Page item template is documented at https://go.microsoft.com/fwlink/?LinkId=234238 17 | 18 | namespace SampleBrowser.SfChart 19 | { 20 | /// 21 | /// An empty page that can be used on its own or navigated to within a Frame. 22 | /// 23 | public sealed partial class BubbleChartView : Page 24 | { 25 | public BubbleChartView() 26 | { 27 | this.InitializeComponent(); 28 | } 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /SampleBrowser/SampleBrowser.SfChart.Shared/View/ChartAxisType.xaml.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.IO; 4 | using System.Linq; 5 | using System.Runtime.InteropServices.WindowsRuntime; 6 | using Windows.Foundation; 7 | using Windows.Foundation.Collections; 8 | using Windows.UI.Xaml; 9 | using Windows.UI.Xaml.Controls; 10 | using Windows.UI.Xaml.Controls.Primitives; 11 | using Windows.UI.Xaml.Data; 12 | using Windows.UI.Xaml.Input; 13 | using Windows.UI.Xaml.Media; 14 | using Windows.UI.Xaml.Navigation; 15 | 16 | // The Blank Page item template is documented at https://go.microsoft.com/fwlink/?LinkId=234238 17 | 18 | namespace SampleBrowser.SfChart 19 | { 20 | /// 21 | /// An empty page that can be used on its own or navigated to within a Frame. 22 | /// 23 | public sealed partial class ChartAxisType : Page 24 | { 25 | public ChartAxisType() 26 | { 27 | this.InitializeComponent(); 28 | } 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /SampleBrowser/SampleBrowser.SfChart.Shared/View/ColumnChartView.xaml.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.IO; 4 | using System.Linq; 5 | using System.Runtime.InteropServices.WindowsRuntime; 6 | using Windows.Foundation; 7 | using Windows.Foundation.Collections; 8 | using Windows.UI.Xaml; 9 | using Windows.UI.Xaml.Controls; 10 | using Windows.UI.Xaml.Controls.Primitives; 11 | using Windows.UI.Xaml.Data; 12 | using Windows.UI.Xaml.Input; 13 | using Windows.UI.Xaml.Media; 14 | using Windows.UI.Xaml.Navigation; 15 | 16 | // The Blank Page item template is documented at https://go.microsoft.com/fwlink/?LinkId=234238 17 | 18 | namespace SampleBrowser.SfChart 19 | { 20 | /// 21 | /// An empty page that can be used on its own or navigated to within a Frame. 22 | /// 23 | public sealed partial class ColumnChartView : Page 24 | { 25 | public ColumnChartView() 26 | { 27 | this.InitializeComponent(); 28 | } 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /SampleBrowser/SampleBrowser.SfChart.Shared/View/DoughtnutChartView.xaml.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.IO; 4 | using System.Linq; 5 | using System.Runtime.InteropServices.WindowsRuntime; 6 | using Windows.Foundation; 7 | using Windows.Foundation.Collections; 8 | using Windows.UI.Xaml; 9 | using Windows.UI.Xaml.Controls; 10 | using Windows.UI.Xaml.Controls.Primitives; 11 | using Windows.UI.Xaml.Data; 12 | using Windows.UI.Xaml.Input; 13 | using Windows.UI.Xaml.Media; 14 | using Windows.UI.Xaml.Navigation; 15 | 16 | // The Blank Page item template is documented at https://go.microsoft.com/fwlink/?LinkId=234238 17 | 18 | namespace SampleBrowser.SfChart 19 | { 20 | /// 21 | /// An empty page that can be used on its own or navigated to within a Frame. 22 | /// 23 | public sealed partial class DoughtnutChartView : Page 24 | { 25 | public DoughtnutChartView() 26 | { 27 | this.InitializeComponent(); 28 | } 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /SampleBrowser/SampleBrowser.SfChart.Shared/View/LineChartView.xaml.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.IO; 4 | using System.Linq; 5 | using System.Runtime.InteropServices.WindowsRuntime; 6 | using Windows.Foundation; 7 | using Windows.Foundation.Collections; 8 | using Windows.UI.Xaml; 9 | using Windows.UI.Xaml.Controls; 10 | using Windows.UI.Xaml.Controls.Primitives; 11 | using Windows.UI.Xaml.Data; 12 | using Windows.UI.Xaml.Input; 13 | using Windows.UI.Xaml.Media; 14 | using Windows.UI.Xaml.Navigation; 15 | 16 | // The Blank Page item template is documented at https://go.microsoft.com/fwlink/?LinkId=234238 17 | 18 | namespace SampleBrowser.SfChart 19 | { 20 | /// 21 | /// An empty page that can be used on its own or navigated to within a Frame. 22 | /// 23 | public sealed partial class LineChartView : Page 24 | { 25 | public LineChartView() 26 | { 27 | this.InitializeComponent(); 28 | } 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /SampleBrowser/SampleBrowser.SfChart.Shared/View/PieChartView.xaml.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.IO; 4 | using System.Linq; 5 | using System.Runtime.InteropServices.WindowsRuntime; 6 | using Windows.Foundation; 7 | using Windows.Foundation.Collections; 8 | using Windows.UI.Xaml; 9 | using Windows.UI.Xaml.Controls; 10 | using Windows.UI.Xaml.Controls.Primitives; 11 | using Windows.UI.Xaml.Data; 12 | using Windows.UI.Xaml.Input; 13 | using Windows.UI.Xaml.Media; 14 | using Windows.UI.Xaml.Navigation; 15 | 16 | // The Blank Page item template is documented at https://go.microsoft.com/fwlink/?LinkId=234238 17 | 18 | namespace SampleBrowser.SfChart 19 | { 20 | /// 21 | /// An empty page that can be used on its own or navigated to within a Frame. 22 | /// 23 | public sealed partial class PieChartView : Page 24 | { 25 | public PieChartView() 26 | { 27 | this.InitializeComponent(); 28 | } 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /SampleBrowser/SampleBrowser.SfChart.Shared/View/ScatterChartView.xaml.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.IO; 4 | using System.Linq; 5 | using System.Runtime.InteropServices.WindowsRuntime; 6 | using Windows.Foundation; 7 | using Windows.Foundation.Collections; 8 | using Windows.UI.Xaml; 9 | using Windows.UI.Xaml.Controls; 10 | using Windows.UI.Xaml.Controls.Primitives; 11 | using Windows.UI.Xaml.Data; 12 | using Windows.UI.Xaml.Input; 13 | using Windows.UI.Xaml.Media; 14 | using Windows.UI.Xaml.Navigation; 15 | 16 | // The Blank Page item template is documented at https://go.microsoft.com/fwlink/?LinkId=234238 17 | 18 | namespace SampleBrowser.SfChart 19 | { 20 | /// 21 | /// An empty page that can be used on its own or navigated to within a Frame. 22 | /// 23 | public sealed partial class ScatterChartView : Page 24 | { 25 | public ScatterChartView() 26 | { 27 | this.InitializeComponent(); 28 | } 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /SampleBrowser/SampleBrowser.SfChart.Shared/ViewModel/AreaChartViewModel.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Text; 4 | 5 | namespace SampleBrowser.SfChart 6 | { 7 | public class AreaChartViewModel 8 | { 9 | public AreaChartViewModel() 10 | { 11 | this.Data = new List(); 12 | Data.Add(new LineModel() { XValue = "1995", YValue = 103 }); 13 | Data.Add(new LineModel() { XValue = "1997", YValue = 221 }); 14 | Data.Add(new LineModel() { XValue = "1999", YValue = 80 }); 15 | Data.Add(new LineModel() { XValue = "2001", YValue = 110 }); 16 | Data.Add(new LineModel() { XValue = "2003", YValue = 80 }); 17 | Data.Add(new LineModel() { XValue = "2005", YValue = 160 }); 18 | Data.Add(new LineModel() { XValue = "2007", YValue = 200 }); 19 | 20 | this.SplineAreaData = new List(); 21 | SplineAreaData.Add(new LineModel() { XValue = "1995", YValue = 113 }); 22 | SplineAreaData.Add(new LineModel() { XValue = "1997", YValue = 181 }); 23 | SplineAreaData.Add(new LineModel() { XValue = "1999", YValue = 180 }); 24 | SplineAreaData.Add(new LineModel() { XValue = "2001", YValue = 90 }); 25 | SplineAreaData.Add(new LineModel() { XValue = "2003", YValue = 180 }); 26 | SplineAreaData.Add(new LineModel() { XValue = "2005", YValue = 110 }); 27 | SplineAreaData.Add(new LineModel() { XValue = "2007", YValue = 220 }); 28 | } 29 | 30 | public IList Data 31 | { 32 | get; 33 | set; 34 | } 35 | 36 | public IList SplineAreaData 37 | { 38 | get; 39 | set; 40 | } 41 | } 42 | } 43 | -------------------------------------------------------------------------------- /SampleBrowser/SampleBrowser.SfChart.Shared/ViewModel/BubbleChartViewModel.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Text; 4 | 5 | namespace SampleBrowser.SfChart 6 | { 7 | public class BubbleSeriesViewModel 8 | { 9 | public List BubbleData { get; set; } 10 | 11 | public BubbleSeriesViewModel() 12 | { 13 | BubbleData = new List() 14 | { 15 | new LineModel(92.2, 117.8, 0.347, "China"), 16 | new LineModel(74, 116.5, 1.241, "India"), 17 | new LineModel(90.4, 226.0, 0.238, "Indonesia"), 18 | new LineModel(99.4, 252.2, 0.312, "US"), 19 | new LineModel(88.6, 211.3, 0.197, "Brazil"), 20 | new LineModel(99, 220.7, 0.0818, "Germany"), 21 | new LineModel(72, 322.0, 0.0826, "Egypt"), 22 | new LineModel(99.6, 413.4, 0.143, "Russia"), 23 | new LineModel(99, 255.2, 0.128, "Japan"), 24 | new LineModel(86.1, 114.0, 0.115, "Mexico"), 25 | new LineModel(61.3, 311.45, 0.162, "Nigeria"), 26 | new LineModel(82.2, 293.97, 0.7, "Hong Kong"), 27 | }; 28 | } 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /SampleBrowser/SampleBrowser.SfChart.Shared/ViewModel/ColumnChartViewModel.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Text; 4 | 5 | namespace SampleBrowser.SfChart 6 | { 7 | public class ColumnChartViewModel 8 | { 9 | public ColumnChartViewModel() 10 | { 11 | this.Data = new List(); 12 | Data.Add(new Model() { Country = "Uruguay", Count = 72 }); 13 | Data.Add(new Model() { Country = "Argentina", Count = 58 }); 14 | Data.Add(new Model() { Country = "USA", Count = 80 }); 15 | Data.Add(new Model() { Country = "Germany", Count = 56 }); 16 | Data.Add(new Model() { Country = "Netherlands", Count = 34 }); 17 | 18 | this.PercentageData = new List(); 19 | PercentageData.Add(new Model() { Year = "2005", Count = 100 }); 20 | PercentageData.Add(new Model() { Year = "2006", Count = 100 }); 21 | PercentageData.Add(new Model() { Year = "2007", Count = 100 }); 22 | PercentageData.Add(new Model() { Year = "2008", Count = 100 }); 23 | PercentageData.Add(new Model() { Year = "2009", Count = 100 }); 24 | 25 | this.PriceData = new List(); 26 | PriceData.Add(new Model() { Year = "2005", Count = 77 }); 27 | PriceData.Add(new Model() { Year = "2006", Count = 69 }); 28 | PriceData.Add(new Model() { Year = "2007", Count = 65 }); 29 | PriceData.Add(new Model() { Year = "2008", Count = 56 }); 30 | PriceData.Add(new Model() { Year = "2009", Count = 44 }); 31 | } 32 | 33 | public IList Data 34 | { 35 | get; 36 | set; 37 | } 38 | 39 | public IList PercentageData 40 | { 41 | get; 42 | set; 43 | } 44 | 45 | public IList PriceData 46 | { 47 | get; 48 | set; 49 | } 50 | } 51 | } 52 | -------------------------------------------------------------------------------- /SampleBrowser/SampleBrowser.SfChart.Shared/ViewModel/LineChartViewModel.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Text; 4 | 5 | namespace SampleBrowser.SfChart 6 | { 7 | public class LineChartViewModel 8 | { 9 | public LineChartViewModel() 10 | { 11 | this.Data = new List(); 12 | Data.Add(new LineModel() { XValue = "Sun", YValue = 26 }); 13 | Data.Add(new LineModel() { XValue = "Mon", YValue = 21 }); 14 | Data.Add(new LineModel() { XValue = "Tue", YValue = 30 }); 15 | Data.Add(new LineModel() { XValue = "Wed", YValue = 28 }); 16 | Data.Add(new LineModel() { XValue = "Thu", YValue = 29 }); 17 | Data.Add(new LineModel() { XValue = "Fri", YValue = 24 }); 18 | Data.Add(new LineModel() { XValue = "Sat", YValue = 30 }); 19 | 20 | this.SplineData = new List(); 21 | SplineData.Add(new LineModel() { XValue = "1995", YValue = 103 }); 22 | SplineData.Add(new LineModel() { XValue = "1997", YValue = 221 }); 23 | SplineData.Add(new LineModel() { XValue = "1999", YValue = 80 }); 24 | SplineData.Add(new LineModel() { XValue = "2001", YValue = 110 }); 25 | SplineData.Add(new LineModel() { XValue = "2003", YValue = 80 }); 26 | SplineData.Add(new LineModel() { XValue = "2005", YValue = 160 }); 27 | SplineData.Add(new LineModel() { XValue = "2007", YValue = 200 }); 28 | } 29 | 30 | public IList Data 31 | { 32 | get; 33 | set; 34 | } 35 | 36 | public IList SplineData 37 | { 38 | get; 39 | set; 40 | } 41 | } 42 | } 43 | -------------------------------------------------------------------------------- /SampleBrowser/SampleBrowser.SfChart.Shared/ViewModel/PieChartViewModel.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Text; 4 | 5 | namespace SampleBrowser.SfChart 6 | { 7 | public class ViewModel 8 | { 9 | public ViewModel() 10 | { 11 | this.Data = new List(); 12 | Data.Add(new Model() { Country = "Uruguay", Count = 2807 }); 13 | Data.Add(new Model() { Country = "Argentina", Count = 2577 }); 14 | Data.Add(new Model() { Country = "USA", Count = 960 }); 15 | Data.Add(new Model() { Country = "Germany", Count = 2120 }); 16 | 17 | this.DoughnutData = new List(); 18 | DoughnutData.Add(new Model() { Country = "USA", Count = 2473 }); 19 | DoughnutData.Add(new Model() { Country = "Germany", Count = 2120 }); 20 | DoughnutData.Add(new Model() { Country = "Malta", Count = 960 }); 21 | DoughnutData.Add(new Model() { Country = "Maldives", Count = 941 }); 22 | 23 | this.SemiPieData = new List(); 24 | SemiPieData.Add(new Model() { Country = "USA", Count = 473 }); 25 | SemiPieData.Add(new Model() { Country = "Germany", Count = 1120 }); 26 | SemiPieData.Add(new Model() { Country = "Malta", Count = 960 }); 27 | SemiPieData.Add(new Model() { Country = "Monaco", Count = 908 }); 28 | 29 | this.Collection = new List(); 30 | Collection.Add(new Model() { Name = "Week1", Count = 45 }); 31 | Collection.Add(new Model() { Name = "Week2", Count = 60 }); 32 | Collection.Add(new Model() { Name = "Week3", Count = 70 }); 33 | Collection.Add(new Model() { Name = "Week4", Count = 85 }); 34 | 35 | this.Population = new List(); 36 | Population.Add(new Populations() { Continent = "Asia", Countries = "China", States = "Taiwan", PopulationinContinents = 50.02, PopulationinCountries = 26.02, PopulationinStates = 18.02 }); 37 | Population.Add(new Populations() { Continent = "Africa", Countries = "India", States = "Shandong", PopulationinContinents = 20.81, PopulationinCountries = 24, PopulationinStates = 8 }); 38 | Population.Add(new Populations() { Continent = "Europe", Countries = "Nigeria", States = "UP", PopulationinContinents = 15.37, PopulationinCountries = 12.81, PopulationinStates = 14.5 }); 39 | Population.Add(new Populations() { Countries = "Ethiopia", States = "Maharashtra", PopulationinCountries = 8, PopulationinStates = 9.5 }); 40 | Population.Add(new Populations() { Countries = "Germany", States = "Kano", PopulationinCountries = 8.37, PopulationinStates = 7.81 }); 41 | Population.Add(new Populations() { Countries = "Turkey", States = "Lagos", PopulationinCountries = 7, PopulationinStates = 5 }); 42 | Population.Add(new Populations() { States = "Oromia", PopulationinStates = 5 }); 43 | Population.Add(new Populations() { States = "Amhara", PopulationinStates = 3 }); 44 | Population.Add(new Populations() { States = "Hessen", PopulationinStates = 5.37 }); 45 | Population.Add(new Populations() { States = "Bayern", PopulationinStates = 3 }); 46 | Population.Add(new Populations() { States = "Istanbul", PopulationinStates = 4.5 }); 47 | Population.Add(new Populations() { States = "Ankara", PopulationinStates = 2.5 }); 48 | } 49 | 50 | public IList Data 51 | { 52 | get; 53 | set; 54 | } 55 | 56 | public IList DoughnutData 57 | { 58 | get; 59 | set; 60 | } 61 | 62 | public IList SemiPieData 63 | { 64 | get; 65 | set; 66 | } 67 | 68 | public IList Collection 69 | { 70 | get; 71 | set; 72 | } 73 | 74 | public IList Population 75 | { 76 | get; 77 | set; 78 | } 79 | } 80 | } 81 | -------------------------------------------------------------------------------- /SampleBrowser/SampleBrowser.SfChart.Shared/ViewModel/PolarChartViewModel.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Text; 4 | 5 | namespace SampleBrowser.SfChart 6 | { 7 | public class PolarChartViewModel 8 | { 9 | public PolarChartViewModel() 10 | { 11 | this.PlantDetails = new List(); 12 | this.PlantDetails.Add(new PlantData() { Direction = "North", Weed = 63, Flower = 42, Tree = 80 }); 13 | this.PlantDetails.Add(new PlantData() { Direction = "NorthEast", Weed = 70, Flower = 40, Tree = 85 }); 14 | this.PlantDetails.Add(new PlantData() { Direction = "East", Weed = 45, Flower = 25, Tree = 78 }); 15 | this.PlantDetails.Add(new PlantData() { Direction = "SouthEast", Weed = 70, Flower = 40, Tree = 90 }); 16 | this.PlantDetails.Add(new PlantData() { Direction = "South", Weed = 47, Flower = 20, Tree = 78 }); 17 | this.PlantDetails.Add(new PlantData() { Direction = "SouthWest", Weed = 65, Flower = 45, Tree = 83 }); 18 | this.PlantDetails.Add(new PlantData() { Direction = "West", Weed = 58, Flower = 40, Tree = 79 }); 19 | this.PlantDetails.Add(new PlantData() { Direction = "NorthWest", Weed = 73, Flower = 28, Tree = 88 }); 20 | } 21 | 22 | public List PlantDetails { get; set; } 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /SampleBrowser/SampleBrowser.SfChart.Shared/ViewModel/StackedChartViewModel.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Text; 4 | 5 | namespace SampleBrowser.SfChart 6 | { 7 | public class StackingChartViewModel 8 | { 9 | public StackingChartViewModel() 10 | { 11 | this.MedalDetails = new List(); 12 | 13 | MedalDetails.Add(new StackedModel() { CountryName = "USA", GoldMedals = 39, SilverMedals = 31, BronzeMedals = 29 }); 14 | MedalDetails.Add(new StackedModel() { CountryName = "Germany", GoldMedals = 24, SilverMedals = 28, BronzeMedals = 32 }); 15 | MedalDetails.Add(new StackedModel() { CountryName = "Britain", GoldMedals = 20, SilverMedals = 25, BronzeMedals = 25 }); 16 | MedalDetails.Add(new StackedModel() { CountryName = "France", GoldMedals = 19, SilverMedals = 21, BronzeMedals = 23 }); 17 | MedalDetails.Add(new StackedModel() { CountryName = "Italy", GoldMedals = 19, SilverMedals = 15, BronzeMedals = 17 }); 18 | 19 | this.Accidents = new List(); 20 | DateTime mth = new DateTime(2011, 1, 1); 21 | 22 | Accidents.Add(new Accidents() { Month = mth.AddMonths(6), Bus = 18, Car = 24, Truck = 33 }); 23 | Accidents.Add(new Accidents() { Month = mth.AddMonths(7), Bus = 16, Car = 22, Truck = 30 }); 24 | Accidents.Add(new Accidents() { Month = mth.AddMonths(8), Bus = 17, Car = 26, Truck = 34}); 25 | Accidents.Add(new Accidents() { Month = mth.AddMonths(9), Bus = 16, Car = 22, Truck = 29 }); 26 | Accidents.Add(new Accidents() { Month = mth.AddMonths(10), Bus = 15, Car = 25, Truck =31 }); 27 | Accidents.Add(new Accidents() { Month = mth.AddMonths(11), Bus = 16, Car = 23, Truck = 32 }); 28 | 29 | 30 | } 31 | 32 | public List MedalDetails { get; set; } 33 | 34 | public List Accidents 35 | { 36 | get; 37 | set; 38 | } 39 | } 40 | } 41 | -------------------------------------------------------------------------------- /SampleBrowser/SampleBrowser.SfChart.Shared/ViewModel/TriangularChartViewModel.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Text; 4 | 5 | namespace SampleBrowser.SfChart 6 | { 7 | public class TriangularViewModel 8 | { 9 | public TriangularViewModel() 10 | { 11 | this.PyramidData = new List(); 12 | 13 | PyramidData.Add(new TriangularModel() { Category = "License", Percentage = 15d }); 14 | PyramidData.Add(new TriangularModel() { Category = "Other", Percentage = 18d }); 15 | PyramidData.Add(new TriangularModel() { Category = "Sales", Percentage = 14d }); 16 | PyramidData.Add(new TriangularModel() { Category = "Income", Percentage = 16d }); 17 | PyramidData.Add(new TriangularModel() { Category = "Production", Percentage = 14d }); 18 | } 19 | 20 | public IList PyramidData 21 | { 22 | get; 23 | set; 24 | } 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /SampleBrowser/SampleBrowser.SfChart.Wasm/Assets/SplashScreen.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syncfusion/Uno.SfChart/23b02d85c0dbd0551da312ca98f2c99d5027a145/SampleBrowser/SampleBrowser.SfChart.Wasm/Assets/SplashScreen.png -------------------------------------------------------------------------------- /SampleBrowser/SampleBrowser.SfChart.Wasm/LinkerConfig.xml: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /SampleBrowser/SampleBrowser.SfChart.Wasm/Program.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using Windows.UI.Xaml; 3 | 4 | namespace SampleBrowser.SfChart.Wasm 5 | { 6 | public class Program 7 | { 8 | private static App _app; 9 | 10 | static int Main(string[] args) 11 | { 12 | Windows.UI.Xaml.Application.Start(_ => _app = new App()); 13 | 14 | return 0; 15 | } 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /SampleBrowser/SampleBrowser.SfChart.Wasm/SampleBrowser.SfChart.Wasm.csproj: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | Exe 5 | netstandard2.0 6 | true 7 | $(DefineConstants);__WASM__ 8 | NU1701 9 | 10 | 11 | true 12 | $(DefineConstants);TRACE;DEBUG 13 | portable 14 | true 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | 62 | 63 | 64 | -------------------------------------------------------------------------------- /SampleBrowser/SampleBrowser.SfChart.Wasm/WasmScripts/AppManifest.js: -------------------------------------------------------------------------------- 1 | var UnoAppManifest = { 2 | 3 | splashScreenImage: "Assets/SplashScreen.png", 4 | splashScreenColor: "#0078D7", 5 | displayName: "SampleBrowser.SfChart" 6 | 7 | } 8 | -------------------------------------------------------------------------------- /SampleBrowser/SampleBrowser.SfChart.Wasm/wwwroot/web.config: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | 71 | 72 | 73 | 74 | 75 | 76 | 77 | 78 | 79 | -------------------------------------------------------------------------------- /SampleBrowser/SampleBrowser.SfChart.iOS/AreaChart.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syncfusion/Uno.SfChart/23b02d85c0dbd0551da312ca98f2c99d5027a145/SampleBrowser/SampleBrowser.SfChart.iOS/AreaChart.png -------------------------------------------------------------------------------- /SampleBrowser/SampleBrowser.SfChart.iOS/BarChart.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syncfusion/Uno.SfChart/23b02d85c0dbd0551da312ca98f2c99d5027a145/SampleBrowser/SampleBrowser.SfChart.iOS/BarChart.png -------------------------------------------------------------------------------- /SampleBrowser/SampleBrowser.SfChart.iOS/BubbleChart.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syncfusion/Uno.SfChart/23b02d85c0dbd0551da312ca98f2c99d5027a145/SampleBrowser/SampleBrowser.SfChart.iOS/BubbleChart.png -------------------------------------------------------------------------------- /SampleBrowser/SampleBrowser.SfChart.iOS/ColumnChart.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syncfusion/Uno.SfChart/23b02d85c0dbd0551da312ca98f2c99d5027a145/SampleBrowser/SampleBrowser.SfChart.iOS/ColumnChart.png -------------------------------------------------------------------------------- /SampleBrowser/SampleBrowser.SfChart.iOS/DoughnutChart.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syncfusion/Uno.SfChart/23b02d85c0dbd0551da312ca98f2c99d5027a145/SampleBrowser/SampleBrowser.SfChart.iOS/DoughnutChart.png -------------------------------------------------------------------------------- /SampleBrowser/SampleBrowser.SfChart.iOS/Entitlements.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /SampleBrowser/SampleBrowser.SfChart.iOS/Info.plist: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | CFBundleDisplayName 6 | SampleBrowser.SfChart 7 | CFBundleIdentifier 8 | com.companyname.SampleBrowser.SfChart 9 | CFBundleShortVersionString 10 | 1.0 11 | CFBundleVersion 12 | 1.0 13 | LSRequiresIPhoneOS 14 | 15 | MinimumOSVersion 16 | 8.0 17 | UIDeviceFamily 18 | 19 | 1 20 | 2 21 | 22 | UILaunchStoryboardName 23 | LaunchScreen 24 | UIRequiredDeviceCapabilities 25 | 26 | armv7 27 | arm64 28 | 29 | UISupportedInterfaceOrientations 30 | 31 | UIInterfaceOrientationPortrait 32 | UIInterfaceOrientationLandscapeLeft 33 | UIInterfaceOrientationLandscapeRight 34 | 35 | UISupportedInterfaceOrientations~ipad 36 | 37 | UIInterfaceOrientationPortrait 38 | UIInterfaceOrientationPortraitUpsideDown 39 | UIInterfaceOrientationLandscapeLeft 40 | UIInterfaceOrientationLandscapeRight 41 | 42 | UIAppFonts 43 | 44 | Fonts/winjs-symbols.ttf 45 | 46 | UIViewControllerBasedStatusBarAppearance 47 | 48 | UILaunchImageMinimumOSVersion 49 | 9.0 50 | UILaunchImageOrientation 51 | Portrait 52 | UILaunchImageSize 53 | {320, 568} 54 | 55 | 56 | -------------------------------------------------------------------------------- /SampleBrowser/SampleBrowser.SfChart.iOS/LaunchScreen.storyboard: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | -------------------------------------------------------------------------------- /SampleBrowser/SampleBrowser.SfChart.iOS/LineChart.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syncfusion/Uno.SfChart/23b02d85c0dbd0551da312ca98f2c99d5027a145/SampleBrowser/SampleBrowser.SfChart.iOS/LineChart.png -------------------------------------------------------------------------------- /SampleBrowser/SampleBrowser.SfChart.iOS/Main.cs: -------------------------------------------------------------------------------- 1 | using UIKit; 2 | 3 | namespace SampleBrowser.SfChart.iOS 4 | { 5 | public class Application 6 | { 7 | // This is the main entry point of the application. 8 | static void Main(string[] args) 9 | { 10 | // if you want to use a different Application Delegate class from "AppDelegate" 11 | // you can specify it here. 12 | UIApplication.Main(args, null, typeof(App)); 13 | } 14 | } 15 | } -------------------------------------------------------------------------------- /SampleBrowser/SampleBrowser.SfChart.iOS/Media.xcassets/AppIcons.appiconset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images": [ 3 | { 4 | "scale": "2x", 5 | "size": "29x29", 6 | "idiom": "iphone" 7 | }, 8 | { 9 | "scale": "3x", 10 | "size": "29x29", 11 | "idiom": "iphone" 12 | }, 13 | { 14 | "scale": "2x", 15 | "size": "40x40", 16 | "idiom": "iphone" 17 | }, 18 | { 19 | "scale": "3x", 20 | "size": "60x60", 21 | "idiom": "iphone" 22 | }, 23 | { 24 | "scale": "1x", 25 | "size": "20x20", 26 | "idiom": "ipad" 27 | }, 28 | { 29 | "scale": "2x", 30 | "size": "20x20", 31 | "idiom": "ipad" 32 | }, 33 | { 34 | "scale": "1x", 35 | "size": "29x29", 36 | "idiom": "ipad" 37 | }, 38 | { 39 | "scale": "2x", 40 | "size": "29x29", 41 | "idiom": "ipad" 42 | }, 43 | { 44 | "scale": "1x", 45 | "size": "40x40", 46 | "idiom": "ipad" 47 | }, 48 | { 49 | "scale": "2x", 50 | "size": "40x40", 51 | "idiom": "ipad" 52 | }, 53 | { 54 | "scale": "1x", 55 | "size": "76x76", 56 | "idiom": "ipad" 57 | }, 58 | { 59 | "scale": "2x", 60 | "size": "20x20", 61 | "idiom": "iphone", 62 | "filename": "iPhone-20x20@2x.png" 63 | }, 64 | { 65 | "scale": "3x", 66 | "size": "20x20", 67 | "idiom": "iphone", 68 | "filename": "iPhone-20x20@3x.png" 69 | }, 70 | { 71 | "scale": "3x", 72 | "size": "40x40", 73 | "idiom": "iphone", 74 | "filename": "iPhone-40x40@3x.png" 75 | }, 76 | { 77 | "scale": "2x", 78 | "size": "60x60", 79 | "idiom": "iphone", 80 | "filename": "iPhone-60x60@2x.png" 81 | }, 82 | { 83 | "scale": "2x", 84 | "size": "76x76", 85 | "idiom": "ipad", 86 | "filename": "iPad-76x76@2x.png squaretile-sdk-ipad.png" 87 | }, 88 | { 89 | "scale": "2x", 90 | "size": "83.5x83.5", 91 | "idiom": "ipad", 92 | "filename": "iPad-84x84@2x.png" 93 | }, 94 | { 95 | "scale": "1x", 96 | "size": "1024x1024", 97 | "idiom": "ios-marketing", 98 | "filename": "ios-marketing-1024x1024@1x.png" 99 | } 100 | ], 101 | "properties": {}, 102 | "info": { 103 | "version": 1, 104 | "author": "xcode" 105 | } 106 | } 107 | -------------------------------------------------------------------------------- /SampleBrowser/SampleBrowser.SfChart.iOS/Media.xcassets/AppIcons.appiconset/iPad-76x76@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syncfusion/Uno.SfChart/23b02d85c0dbd0551da312ca98f2c99d5027a145/SampleBrowser/SampleBrowser.SfChart.iOS/Media.xcassets/AppIcons.appiconset/iPad-76x76@2x.png -------------------------------------------------------------------------------- /SampleBrowser/SampleBrowser.SfChart.iOS/Media.xcassets/AppIcons.appiconset/iPad-84x84@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syncfusion/Uno.SfChart/23b02d85c0dbd0551da312ca98f2c99d5027a145/SampleBrowser/SampleBrowser.SfChart.iOS/Media.xcassets/AppIcons.appiconset/iPad-84x84@2x.png -------------------------------------------------------------------------------- /SampleBrowser/SampleBrowser.SfChart.iOS/Media.xcassets/AppIcons.appiconset/iPhone-20x20@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syncfusion/Uno.SfChart/23b02d85c0dbd0551da312ca98f2c99d5027a145/SampleBrowser/SampleBrowser.SfChart.iOS/Media.xcassets/AppIcons.appiconset/iPhone-20x20@2x.png -------------------------------------------------------------------------------- /SampleBrowser/SampleBrowser.SfChart.iOS/Media.xcassets/AppIcons.appiconset/iPhone-20x20@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syncfusion/Uno.SfChart/23b02d85c0dbd0551da312ca98f2c99d5027a145/SampleBrowser/SampleBrowser.SfChart.iOS/Media.xcassets/AppIcons.appiconset/iPhone-20x20@3x.png -------------------------------------------------------------------------------- /SampleBrowser/SampleBrowser.SfChart.iOS/Media.xcassets/AppIcons.appiconset/iPhone-40x40@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syncfusion/Uno.SfChart/23b02d85c0dbd0551da312ca98f2c99d5027a145/SampleBrowser/SampleBrowser.SfChart.iOS/Media.xcassets/AppIcons.appiconset/iPhone-40x40@3x.png -------------------------------------------------------------------------------- /SampleBrowser/SampleBrowser.SfChart.iOS/Media.xcassets/AppIcons.appiconset/iPhone-60x60@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syncfusion/Uno.SfChart/23b02d85c0dbd0551da312ca98f2c99d5027a145/SampleBrowser/SampleBrowser.SfChart.iOS/Media.xcassets/AppIcons.appiconset/iPhone-60x60@2x.png -------------------------------------------------------------------------------- /SampleBrowser/SampleBrowser.SfChart.iOS/Media.xcassets/AppIcons.appiconset/ios-marketing-1024x1024@1x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syncfusion/Uno.SfChart/23b02d85c0dbd0551da312ca98f2c99d5027a145/SampleBrowser/SampleBrowser.SfChart.iOS/Media.xcassets/AppIcons.appiconset/ios-marketing-1024x1024@1x.png -------------------------------------------------------------------------------- /SampleBrowser/SampleBrowser.SfChart.iOS/Media.xcassets/LaunchImages.launchimage/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images": [ 3 | { 4 | "orientation": "portrait", 5 | "extent": "full-screen", 6 | "minimum-system-version": "7.0", 7 | "scale": "2x", 8 | "size": "640x960", 9 | "idiom": "iphone" 10 | }, 11 | { 12 | "orientation": "portrait", 13 | "extent": "full-screen", 14 | "minimum-system-version": "7.0", 15 | "subtype": "retina4", 16 | "scale": "2x", 17 | "size": "640x1136", 18 | "idiom": "iphone" 19 | }, 20 | { 21 | "orientation": "portrait", 22 | "extent": "full-screen", 23 | "minimum-system-version": "7.0", 24 | "scale": "1x", 25 | "size": "768x1024", 26 | "idiom": "ipad" 27 | }, 28 | { 29 | "orientation": "landscape", 30 | "extent": "full-screen", 31 | "minimum-system-version": "7.0", 32 | "scale": "1x", 33 | "size": "1024x768", 34 | "idiom": "ipad" 35 | }, 36 | { 37 | "orientation": "portrait", 38 | "extent": "full-screen", 39 | "minimum-system-version": "7.0", 40 | "scale": "2x", 41 | "size": "1536x2048", 42 | "idiom": "ipad" 43 | }, 44 | { 45 | "orientation": "landscape", 46 | "extent": "full-screen", 47 | "minimum-system-version": "7.0", 48 | "scale": "2x", 49 | "size": "2048x1536", 50 | "idiom": "ipad" 51 | } 52 | ], 53 | "properties": {}, 54 | "info": { 55 | "version": 1, 56 | "author": "" 57 | } 58 | } -------------------------------------------------------------------------------- /SampleBrowser/SampleBrowser.SfChart.iOS/Person.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syncfusion/Uno.SfChart/23b02d85c0dbd0551da312ca98f2c99d5027a145/SampleBrowser/SampleBrowser.SfChart.iOS/Person.png -------------------------------------------------------------------------------- /SampleBrowser/SampleBrowser.SfChart.iOS/PieChart.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syncfusion/Uno.SfChart/23b02d85c0dbd0551da312ca98f2c99d5027a145/SampleBrowser/SampleBrowser.SfChart.iOS/PieChart.png -------------------------------------------------------------------------------- /SampleBrowser/SampleBrowser.SfChart.iOS/Properties/AssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | using System.Reflection; 2 | using System.Runtime.CompilerServices; 3 | using System.Runtime.InteropServices; 4 | 5 | // General Information about an assembly is controlled through the following 6 | // set of attributes. Change these attribute values to modify the information 7 | // associated with an assembly. 8 | [assembly: AssemblyTitle("SampleBrowser.SfChart.iOS")] 9 | [assembly: AssemblyDescription("")] 10 | [assembly: AssemblyConfiguration("")] 11 | [assembly: AssemblyCompany("")] 12 | [assembly: AssemblyProduct("SampleBrowser.SfChart.iOS")] 13 | [assembly: AssemblyCopyright("Copyright © 2020")] 14 | [assembly: AssemblyTrademark("")] 15 | [assembly: AssemblyCulture("")] 16 | 17 | // Setting ComVisible to false makes the types in this assembly not visible 18 | // to COM components. If you need to access a type in this assembly from 19 | // COM, set the ComVisible attribute to true on that type. 20 | [assembly: ComVisible(false)] 21 | 22 | // The following GUID is for the ID of the typelib if this project is exposed to COM 23 | [assembly: Guid("166de4ca-8f11-4ef9-bcf8-3e7834988e7d")] 24 | 25 | // Version information for an assembly consists of the following four values: 26 | // 27 | // Major Version 28 | // Minor Version 29 | // Build Number 30 | // Revision 31 | // 32 | // You can specify all the values or you can default the Build and Revision Numbers 33 | // by using the '*' as shown below: 34 | // [assembly: AssemblyVersion("1.0.*")] 35 | [assembly: AssemblyVersion("1.0.0.0")] 36 | [assembly: AssemblyFileVersion("1.0.0.0")] 37 | -------------------------------------------------------------------------------- /SampleBrowser/SampleBrowser.SfChart.iOS/Resources/Default-568h@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syncfusion/Uno.SfChart/23b02d85c0dbd0551da312ca98f2c99d5027a145/SampleBrowser/SampleBrowser.SfChart.iOS/Resources/Default-568h@2x.png -------------------------------------------------------------------------------- /SampleBrowser/SampleBrowser.SfChart.iOS/Resources/Fonts/winjs-symbols.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syncfusion/Uno.SfChart/23b02d85c0dbd0551da312ca98f2c99d5027a145/SampleBrowser/SampleBrowser.SfChart.iOS/Resources/Fonts/winjs-symbols.ttf -------------------------------------------------------------------------------- /SampleBrowser/SampleBrowser.SfChart.iOS/Resources/SplashScreen@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syncfusion/Uno.SfChart/23b02d85c0dbd0551da312ca98f2c99d5027a145/SampleBrowser/SampleBrowser.SfChart.iOS/Resources/SplashScreen@2x.png -------------------------------------------------------------------------------- /SampleBrowser/SampleBrowser.SfChart.iOS/Resources/SplashScreen@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syncfusion/Uno.SfChart/23b02d85c0dbd0551da312ca98f2c99d5027a145/SampleBrowser/SampleBrowser.SfChart.iOS/Resources/SplashScreen@3x.png -------------------------------------------------------------------------------- /SampleBrowser/SampleBrowser.SfChart.iOS/SampleBrowser.SfChart.iOS.csproj.user: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | iPad Pro %289.7-inch%29 iOS 13.4 5 | iPad Pro %289.7-inch%29 iOS 13.4 6 | 7 | -------------------------------------------------------------------------------- /SampleBrowser/SampleBrowser.SfChart.iOS/ScatterChart.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syncfusion/Uno.SfChart/23b02d85c0dbd0551da312ca98f2c99d5027a145/SampleBrowser/SampleBrowser.SfChart.iOS/ScatterChart.png -------------------------------------------------------------------------------- /SampleBrowser/SampleBrowser.SfChart.iOS/StackedChart.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syncfusion/Uno.SfChart/23b02d85c0dbd0551da312ca98f2c99d5027a145/SampleBrowser/SampleBrowser.SfChart.iOS/StackedChart.png -------------------------------------------------------------------------------- /SampleBrowser/SampleBrowser.SfChart.iOS/TriangularChart.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syncfusion/Uno.SfChart/23b02d85c0dbd0551da312ca98f2c99d5027a145/SampleBrowser/SampleBrowser.SfChart.iOS/TriangularChart.png -------------------------------------------------------------------------------- /SampleBrowser/SampleBrowser.SfChart.iOS/axis.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syncfusion/Uno.SfChart/23b02d85c0dbd0551da312ca98f2c99d5027a145/SampleBrowser/SampleBrowser.SfChart.iOS/axis.png -------------------------------------------------------------------------------- /SampleBrowser/SampleBrowser.SfChart.iOS/line.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syncfusion/Uno.SfChart/23b02d85c0dbd0551da312ca98f2c99d5027a145/SampleBrowser/SampleBrowser.SfChart.iOS/line.png -------------------------------------------------------------------------------- /Src/Annotation/AnnotationCollection.cs: -------------------------------------------------------------------------------- 1 | // 2 | // Copyright Syncfusion Inc. 2001 - 2017. All rights reserved. 3 | // Use of this code is subject to the terms of our license. 4 | // A copy of the current license can be obtained at any time by e-mailing 5 | // licensing@syncfusion.com. Any infringement will be prosecuted under 6 | // applicable laws. 7 | // 8 | namespace Syncfusion.UI.Xaml.Charts 9 | { 10 | using System.Collections.ObjectModel; 11 | 12 | /// 13 | /// Represents a annotation class collection. 14 | /// 15 | /// 16 | public partial class AnnotationCollection : ObservableCollection 17 | { 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /Src/Annotation/AnnotationResizer.cs: -------------------------------------------------------------------------------- 1 | // 2 | // Copyright Syncfusion Inc. 2001 - 2017. All rights reserved. 3 | // Use of this code is subject to the terms of our license. 4 | // A copy of the current license can be obtained at any time by e-mailing 5 | // licensing@syncfusion.com. Any infringement will be prosecuted under 6 | // applicable laws. 7 | // 8 | namespace Syncfusion.UI.Xaml.Charts 9 | { 10 | using Windows.UI.Xaml; 11 | 12 | /// 13 | /// Represents the class. 14 | /// 15 | internal partial class AnnotationResizer : SolidShapeAnnotation 16 | { 17 | #region Methods 18 | 19 | #region Public Methods 20 | 21 | /// 22 | /// Gets the rendered control. 23 | /// 24 | /// Returns the control. 25 | public override UIElement GetRenderedAnnotation() 26 | { 27 | return ResizerControl; 28 | } 29 | 30 | #endregion 31 | 32 | #region Internal Methods 33 | 34 | /// 35 | /// Creates the control. 36 | /// 37 | /// Returns the created control. 38 | internal override UIElement CreateAnnotation() 39 | { 40 | ResizerControl = new Resizer(); 41 | ResizerControl.AnnotationResizer = this; 42 | SetBindings(); 43 | return ResizerControl; 44 | } 45 | 46 | /// 47 | /// Maps the value to pixels. 48 | /// 49 | internal void MapActualValueToPixels() 50 | { 51 | ResizerControl.MapActualValueToPixels(); 52 | } 53 | 54 | #endregion 55 | 56 | #region Protected Methods 57 | 58 | /// 59 | /// Binds the property between the and it's relevant annotation. 60 | /// 61 | protected override void SetBindings() 62 | { 63 | } 64 | 65 | #endregion 66 | 67 | #endregion 68 | } 69 | } 70 | -------------------------------------------------------------------------------- /Src/Annotation/RectangleAnnotation.cs: -------------------------------------------------------------------------------- 1 | using System.Windows; 2 | using Windows.UI.Xaml; 3 | using Windows.UI.Xaml.Shapes; 4 | 5 | namespace Syncfusion.UI.Xaml.Charts 6 | { 7 | public partial class RectangleAnnotation : SolidShapeAnnotation 8 | { 9 | #region Methods 10 | 11 | #region Internal Override Methods 12 | 13 | internal override UIElement CreateAnnotation() 14 | { 15 | if (AnnotationElement != null && AnnotationElement.Children.Count == 0) 16 | { 17 | shape = new Rectangle(); 18 | shape.Tag = this; 19 | SetBindings(); 20 | AnnotationElement.Children.Add(shape); 21 | TextElementCanvas.Children.Add(TextElement); 22 | AnnotationElement.Children.Add(TextElementCanvas); 23 | } 24 | 25 | return AnnotationElement; 26 | } 27 | 28 | #endregion 29 | 30 | #region Protected Override Methods 31 | 32 | protected override DependencyObject CloneAnnotation(Annotation annotation) 33 | { 34 | return base.CloneAnnotation(new RectangleAnnotation()); 35 | } 36 | 37 | #endregion 38 | 39 | #endregion 40 | } 41 | } 42 | -------------------------------------------------------------------------------- /Src/Annotation/SingleAnnotation.cs: -------------------------------------------------------------------------------- 1 | namespace Syncfusion.UI.Xaml.Charts 2 | { 3 | public abstract partial class SingleAnnotation : Annotation 4 | { 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /Src/Annotation/SolidShapeAnnotation.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using Windows.UI.Xaml; 6 | 7 | namespace Syncfusion.UI.Xaml.Charts 8 | { 9 | public abstract partial class SolidShapeAnnotation : ShapeAnnotation 10 | { 11 | #region Dependency Property Registrations 12 | 13 | /// 14 | /// The DependencyProperty for property. 15 | /// 16 | public static readonly DependencyProperty AngleProperty = 17 | DependencyProperty.Register( 18 | "Angle", 19 | typeof(double), 20 | typeof(SolidShapeAnnotation), 21 | new PropertyMetadata(0d, OnUpdatePropertyChanged)); 22 | 23 | /// 24 | /// The DependencyProperty for property. 25 | /// 26 | public static readonly DependencyProperty ResizingModeProperty = 27 | DependencyProperty.Register( 28 | "ResizingMode", 29 | typeof(AxisMode), 30 | typeof(SolidShapeAnnotation), 31 | new PropertyMetadata(AxisMode.All, OnResizingPathChanged)); 32 | 33 | #endregion 34 | 35 | #region Properties 36 | 37 | /// 38 | /// Gets or sets the rotation angle for Annotation. 39 | /// 40 | public double Angle 41 | { 42 | get { return (double)GetValue(AngleProperty); } 43 | set { SetValue(AngleProperty, value); } 44 | } 45 | 46 | /// 47 | /// Gets or sets the resizing direction for the annotation. 48 | /// 49 | /// 50 | /// AxisMode.Horizontal 51 | /// AxisMode.Vertical 52 | /// AxisMode.All 53 | /// 54 | public AxisMode ResizingMode 55 | { 56 | get { return (AxisMode)GetValue(ResizingModeProperty); } 57 | set { SetValue(ResizingModeProperty, value); } 58 | } 59 | 60 | #endregion 61 | 62 | #region Methods 63 | 64 | #region Private Static Methods 65 | 66 | private static void OnUpdatePropertyChanged(DependencyObject sender, DependencyPropertyChangedEventArgs args) 67 | { 68 | var annotation = sender as Annotation; 69 | if (annotation != null) annotation.UpdatePropertyChanged(args); 70 | } 71 | 72 | private static void OnResizingPathChanged(DependencyObject d, DependencyPropertyChangedEventArgs e) 73 | { 74 | var solidShapeAnnotation = d as SolidShapeAnnotation; 75 | if (e.NewValue != e.OldValue && solidShapeAnnotation.Chart != null) 76 | solidShapeAnnotation.UpdateResizingPath((AxisMode)e.NewValue); 77 | } 78 | 79 | #endregion 80 | 81 | #region Private Methods 82 | 83 | private void UpdateResizingPath(AxisMode path) 84 | { 85 | AnnotationResizer annotationResizer = Chart.AnnotationManager.AnnotationResizer; 86 | if (annotationResizer != null) 87 | { 88 | if (annotationResizer.ResizingMode != path) 89 | { 90 | annotationResizer.ResizingMode = path; 91 | annotationResizer.ResizerControl.ChangeView(); 92 | } 93 | } 94 | } 95 | 96 | #endregion 97 | 98 | #endregion 99 | } 100 | } 101 | -------------------------------------------------------------------------------- /Src/ChartAxis/Helper/RangeAxisBaseHelper.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | 6 | namespace Syncfusion.UI.Xaml.Charts 7 | { 8 | internal static class RangeAxisBaseHelper 9 | { 10 | #region Methods 11 | 12 | #region Internal Static Methods 13 | 14 | /// 15 | /// Method implementation for Add smallTicks to axis 16 | /// 17 | /// The axis. 18 | /// The position. 19 | /// The interval. 20 | /// The small ticks per interval. 21 | internal static void AddSmallTicksPoint(ChartAxis axis, double position, double interval, double smallTicksPerInterval) 22 | { 23 | var tickInterval = interval / (smallTicksPerInterval + 1); 24 | var tickpos = position + tickInterval; 25 | var end = axis.VisibleRange.End; 26 | var visibleRange = axis.VisibleRange; 27 | var linearAxis = axis as NumericalAxis; 28 | 29 | if (linearAxis != null && linearAxis.IsSecondaryAxis && linearAxis.BreakRangesInfo.Count > 0) 30 | { 31 | var ranges = linearAxis.AxisRanges; 32 | for (int i = 0; i < ranges.Count; i++) 33 | { 34 | if (!ranges[i].Inside(position)) continue; 35 | end = ranges[i].End; 36 | visibleRange = ranges[i]; 37 | break; 38 | } 39 | } 40 | 41 | position += interval; 42 | 43 | // Precision value checked for 7 decimal points 44 | while (tickpos < position && (Math.Abs(position - tickpos) > 0.0000001) && tickpos <= end) 45 | { 46 | if (visibleRange.Inside(tickpos)) 47 | { 48 | axis.m_smalltickPoints.Add(tickpos); 49 | } 50 | 51 | tickpos += tickInterval; 52 | }; 53 | } 54 | 55 | /// 56 | /// Method implementation for Generate Labels in ChartAxis 57 | /// 58 | /// The axis. 59 | /// The small ticks per interval. 60 | internal static void GenerateVisibleLabels(ChartAxis axis, double smallTicksPerInterval) 61 | { 62 | double interval = axis.VisibleInterval; 63 | double position = axis.VisibleRange.Start - (axis.VisibleRange.Start % interval); 64 | 65 | for (; position <= axis.VisibleRange.End; position += interval) 66 | { 67 | if (axis.VisibleRange.Inside(position)) 68 | { 69 | axis.VisibleLabels.Add(new ChartAxisLabel(position, axis.GetActualLabelContent(position), position)); 70 | } 71 | 72 | if (axis.smallTicksRequired) 73 | { 74 | axis.AddSmallTicksPoint(position); 75 | } 76 | } 77 | } 78 | 79 | #endregion 80 | 81 | #endregion 82 | 83 | } 84 | } 85 | -------------------------------------------------------------------------------- /Src/ChartAxis/Helper/TimeSpanAxisHelper.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using Windows.Foundation; 6 | 7 | namespace Syncfusion.UI.Xaml.Charts 8 | { 9 | internal static class TimeSpanAxisHelper 10 | { 11 | #region Methods 12 | 13 | #region Static Methods 14 | 15 | /// 16 | /// Generates the visible labels. 17 | /// 18 | /// The axis. 19 | internal static void GenerateVisibleLabels(ChartAxisBase2D axis, object minimum, object maximum, object actualInterval) 20 | { 21 | double interval = axis.VisibleInterval; 22 | var range = axis.VisibleRange; 23 | double position; 24 | var timeSpanAxis = axis as TimeSpanAxis; 25 | 26 | if ((minimum != null && maximum != null && actualInterval != null) 27 | || axis.EdgeLabelsVisibilityMode == EdgeLabelsVisibilityMode.AlwaysVisible 28 | || (axis.EdgeLabelsVisibilityMode == EdgeLabelsVisibilityMode.Visible && !axis.IsZoomed)) 29 | position = range.Start; 30 | else 31 | position = range.Start - (range.Start % interval); 32 | 33 | double previousPosition = double.NaN; 34 | 35 | for (; position <= axis.VisibleRange.End; position += interval) 36 | { 37 | if (position == previousPosition) 38 | break; 39 | if (axis.VisibleRange.Inside(position)) 40 | { 41 | axis.VisibleLabels.Add(new ChartAxisLabel(position, timeSpanAxis.GetActualLabelContent(position), position)); 42 | } 43 | 44 | if (axis.smallTicksRequired) 45 | { 46 | axis.AddSmallTicksPoint(position); 47 | } 48 | 49 | previousPosition = position; 50 | } 51 | #if NETFX_CORE 52 | 53 | if (((maximum != null && range.End.Equals((TimeSpan.Parse(maximum.ToString())).TotalMilliseconds)) 54 | || axis.EdgeLabelsVisibilityMode == EdgeLabelsVisibilityMode.AlwaysVisible 55 | || (axis.EdgeLabelsVisibilityMode == EdgeLabelsVisibilityMode.Visible && !axis.IsZoomed)) 56 | && !range.End.Equals(position - interval)) 57 | #else 58 | if (((maximum != null && range.End.Equals(((TimeSpan)maximum).TotalMilliseconds)) 59 | || axis.EdgeLabelsVisibilityMode == EdgeLabelsVisibilityMode.AlwaysVisible 60 | || (axis.EdgeLabelsVisibilityMode == EdgeLabelsVisibilityMode.Visible && !axis.IsZoomed)) 61 | && !range.End.Equals(position - interval)) 62 | #endif 63 | { 64 | axis.VisibleLabels.Add(new ChartAxisLabel(range.End, timeSpanAxis.GetActualLabelContent(range.End), range.End)); 65 | } 66 | } 67 | 68 | /// 69 | /// Generates the visible labels. 70 | /// 71 | /// The axis. 72 | internal static void GenerateVisibleLabels3D(ChartAxis axis, object minimum, object maximum, object actualInterval) 73 | { 74 | 75 | } 76 | 77 | /// 78 | /// Calculates the visible range. 79 | /// 80 | /// The axis. 81 | /// The interval. 82 | /// Size of the available. 83 | internal static void CalculateVisibleRange(ChartAxisBase2D axis, object interval, Size avalableSize) 84 | { 85 | if (axis.ZoomFactor < 1 || axis.ZoomPosition > 0) 86 | { 87 | if (interval != null) 88 | { 89 | axis.VisibleInterval = axis.EnableAutoIntervalOnZooming 90 | ? axis.CalculateNiceInterval(axis.VisibleRange, avalableSize) 91 | : axis.ActualInterval; 92 | } 93 | else 94 | { 95 | axis.VisibleInterval = axis.CalculateNiceInterval(axis.VisibleRange, avalableSize); 96 | } 97 | } 98 | } 99 | 100 | #endregion 101 | 102 | #endregion 103 | 104 | } 105 | } 106 | -------------------------------------------------------------------------------- /Src/ChartSeries/LinkerDefinition.Wasm.xml: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /Src/ChartSeries/StackingArea100Series.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using Windows.UI.Xaml; 6 | 7 | namespace Syncfusion.UI.Xaml.Charts 8 | { 9 | public partial class StackingArea100Series : StackingAreaSeries 10 | { 11 | #region Methods 12 | 13 | #region Public Override Methods 14 | 15 | /// 16 | /// Creates the segments of StackingArea100Series 17 | /// 18 | public override void CreateSegments() 19 | { 20 | base.CreateSegments(); 21 | IsStacked100 = true; 22 | } 23 | 24 | #endregion 25 | 26 | #region Protected Override Methods 27 | 28 | protected override DependencyObject CloneSeries(DependencyObject obj) 29 | { 30 | return base.CloneSeries(new StackingArea100Series() { IsClosed = this.IsClosed }); 31 | } 32 | 33 | #endregion 34 | 35 | #endregion 36 | } 37 | } 38 | -------------------------------------------------------------------------------- /Src/ChartSeries/StackingBar100Series.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using Windows.UI.Xaml; 6 | 7 | namespace Syncfusion.UI.Xaml.Charts 8 | { 9 | /// 10 | /// StackingBar100Series resembles , but the cumulative portion of each stacked element always totals to 100%. 11 | /// 12 | public partial class StackingBar100Series : StackingBarSeries 13 | { 14 | #region Methods 15 | 16 | #region Public Override Methods 17 | 18 | /// 19 | /// Creates the segments of StackingBar100Series. 20 | /// 21 | public override void CreateSegments() 22 | { 23 | base.CreateSegments(); 24 | IsStacked100 = true; 25 | } 26 | 27 | #endregion 28 | 29 | #region Protected Override Methods 30 | 31 | protected override DependencyObject CloneSeries(DependencyObject obj) 32 | { 33 | return base.CloneSeries(new StackingBar100Series()); 34 | } 35 | 36 | #endregion 37 | 38 | #endregion 39 | } 40 | } 41 | -------------------------------------------------------------------------------- /Src/ChartSeries/StackingColumn100Series.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using Windows.UI.Xaml; 6 | 7 | namespace Syncfusion.UI.Xaml.Charts 8 | { 9 | /// 10 | /// StackingColumn100Series resembles , but the cumulative portion of each stacked element always totals to 100%. 11 | /// 12 | public partial class StackingColumn100Series : StackingColumnSeries 13 | { 14 | #region Methods 15 | 16 | #region Public Override Methods 17 | 18 | /// 19 | /// Creates the segments of StackingColumn100Series 20 | /// 21 | public override void CreateSegments() 22 | { 23 | base.CreateSegments(); 24 | IsStacked100 = true; 25 | } 26 | 27 | #endregion 28 | 29 | #region Protected Override Methods 30 | 31 | protected override DependencyObject CloneSeries(DependencyObject obj) 32 | { 33 | return base.CloneSeries(new StackingColumn100Series()); 34 | } 35 | 36 | #endregion 37 | 38 | #endregion 39 | } 40 | } 41 | -------------------------------------------------------------------------------- /Src/ChartSeries/TriangularSeriesBase.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using System.Threading; 6 | using Windows.UI; 7 | using Windows.UI.Xaml; 8 | using Windows.UI.Xaml.Media; 9 | using System.Threading.Tasks; 10 | 11 | namespace Syncfusion.UI.Xaml.Charts 12 | { 13 | /// 14 | /// Class implementation for TriangularSeriesBase 15 | /// 16 | public abstract partial class TriangularSeriesBase : AccumulationSeriesBase 17 | { 18 | 19 | #region Dependency Property Registration 20 | 21 | /// 22 | /// The DependencyProperty for property. . 23 | /// 24 | public static readonly DependencyProperty GapRatioProperty = 25 | DependencyProperty.Register( 26 | "GapRatio", 27 | typeof(double), 28 | typeof(TriangularSeriesBase), 29 | new PropertyMetadata(0d, new PropertyChangedCallback(OnGapRatioChanged))); 30 | 31 | /// 32 | /// The DependencyProperty for property. . 33 | /// 34 | public static readonly DependencyProperty ExplodeOffsetProperty = 35 | DependencyProperty.Register( 36 | "ExplodeOffset", 37 | typeof(double), 38 | typeof(TriangularSeriesBase), 39 | new PropertyMetadata(40d, new PropertyChangedCallback(OnExplodeOffsetChanged))); 40 | 41 | #endregion 42 | 43 | #region Properties 44 | 45 | #region Public Properties 46 | 47 | /// 48 | /// Gets or sets the ratio of distance between the funnel or pyramid segment blocks. This is a bindable property. 49 | /// 50 | public double GapRatio 51 | { 52 | get { return (double)GetValue(GapRatioProperty); } 53 | set { SetValue(GapRatioProperty, value); } 54 | } 55 | 56 | /// 57 | /// Gets or sets the offset distance when exploding the funnel or pyramid segment. This is a bindable property. 58 | /// 59 | public double ExplodeOffset 60 | { 61 | get { return (double)GetValue(ExplodeOffsetProperty); } 62 | set { SetValue(ExplodeOffsetProperty, value); } 63 | } 64 | 65 | #endregion 66 | 67 | #endregion 68 | 69 | #region Methods 70 | 71 | #region Protected Override Methods 72 | 73 | protected override DependencyObject CloneSeries(DependencyObject obj) 74 | { 75 | var triangularSeriesBase = obj as TriangularSeriesBase; 76 | 77 | if (triangularSeriesBase != null) 78 | { 79 | triangularSeriesBase.GapRatio = this.GapRatio; 80 | triangularSeriesBase.ExplodeOffset = this.ExplodeOffset; 81 | } 82 | 83 | return base.CloneSeries(obj); 84 | } 85 | 86 | #endregion 87 | 88 | #region Private Static Methods 89 | 90 | private static void OnGapRatioChanged(DependencyObject d, DependencyPropertyChangedEventArgs e) 91 | { 92 | var triangularSeriesBase = d as TriangularSeriesBase; 93 | if (triangularSeriesBase != null && triangularSeriesBase.Area != null) 94 | triangularSeriesBase.Area.ScheduleUpdate(); 95 | } 96 | 97 | private static void OnExplodeOffsetChanged(DependencyObject d, DependencyPropertyChangedEventArgs e) 98 | { 99 | var triangularSeriesBase = d as TriangularSeriesBase; 100 | if (triangularSeriesBase != null && triangularSeriesBase.Area != null) 101 | { 102 | triangularSeriesBase.Area.ScheduleUpdate(); 103 | } 104 | } 105 | 106 | #endregion 107 | 108 | #endregion 109 | } 110 | } 111 | -------------------------------------------------------------------------------- /Src/Collections/ChartBehaviorsCollection.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Collections.ObjectModel; 4 | using System.Linq; 5 | using System.Text; 6 | using System.Threading.Tasks; 7 | 8 | namespace Syncfusion.UI.Xaml.Charts 9 | { 10 | /// 11 | /// A collection class which holds ChartBehaviors. 12 | /// 13 | 14 | public partial class ChartBehaviorsCollection : ObservableCollection 15 | { 16 | internal SfChart Area; 17 | 18 | /// 19 | /// Called when instance created for ChartBehaviourCollection 20 | /// 21 | /// 22 | public ChartBehaviorsCollection(SfChart area) 23 | { 24 | Area = area; 25 | } 26 | 27 | /// 28 | /// Called when instance created for ChartBehaviorsCollection 29 | /// 30 | public ChartBehaviorsCollection() 31 | { 32 | 33 | } 34 | 35 | /// 36 | /// Inserts an item into the collection at the specified index. 37 | /// 38 | /// The zero-based index at which should be inserted.The object to insert. 39 | protected override void InsertItem(int index, ChartBehavior item) 40 | { 41 | item.ChartArea = Area; 42 | item.AdorningCanvas = Area.GetAdorningCanvas(); 43 | if (item.AdorningCanvas != null) 44 | item.InternalAttachElements(); 45 | base.InsertItem(index, item); 46 | } 47 | 48 | /// 49 | /// Removes the item at the specified index of the collection. 50 | /// 51 | /// The zero-based index of the element to remove. 52 | protected override void RemoveItem(int index) 53 | { 54 | var item = this.Items[index]; 55 | item.DetachElements(); 56 | item.ChartArea = Area; 57 | base.RemoveItem(index); 58 | } 59 | protected override void ClearItems() 60 | { 61 | foreach (ChartBehavior behavior in Items) 62 | { 63 | behavior.DetachElements(); 64 | behavior.ChartArea = Area; 65 | } 66 | 67 | base.ClearItems(); 68 | } 69 | } 70 | 71 | /// 72 | /// Represents a collection of . 73 | /// 74 | 75 | public partial class ChartAxisLabelCollection : ObservableCollection 76 | { 77 | /// 78 | /// Inserts an item into the collection at the specified index. 79 | /// 80 | /// The zero-based index at which should be inserted.The object to insert. 81 | protected override void InsertItem(int index, ChartAxisLabel item) 82 | { 83 | base.InsertItem(index, item); 84 | } 85 | 86 | /// 87 | /// ChartAxisLabelsCollection Clear Items 88 | /// 89 | /// 90 | /// ChartAxisLabelsCollection 91 | /// 92 | protected override void ClearItems() 93 | { 94 | base.ClearItems(); 95 | } 96 | } 97 | } 98 | -------------------------------------------------------------------------------- /Src/Controls/LabelBarStyle.cs: -------------------------------------------------------------------------------- 1 | // 2 | // Copyright Syncfusion Inc. 2001 - 2017. All rights reserved. 3 | // Use of this code is subject to the terms of our license. 4 | // A copy of the current license can be obtained at any time by e-mailing 5 | // licensing@syncfusion.com. Any infringement will be prosecuted under 6 | // applicable laws. 7 | // 8 | namespace Syncfusion.UI.Xaml.Charts 9 | { 10 | using System; 11 | using System.Collections; 12 | using System.Collections.Generic; 13 | using System.Collections.ObjectModel; 14 | using System.ComponentModel; 15 | using System.Globalization; 16 | using System.Linq; 17 | using System.Reflection; 18 | using System.Windows; 19 | using Windows.Foundation; 20 | using Windows.UI; 21 | using Windows.UI.Xaml; 22 | using Windows.UI.Xaml.Controls; 23 | using Windows.UI.Xaml.Controls.Primitives; 24 | using Windows.UI.Xaml.Data; 25 | using Windows.UI.Xaml.Documents; 26 | using Windows.UI.Xaml.Input; 27 | using Windows.UI.Xaml.Media; 28 | using Windows.UI.Xaml.Shapes; 29 | 30 | /// 31 | /// Represents the class. 32 | /// 33 | public partial class LabelStyle : DependencyObject 34 | { 35 | #region Dependency Property Registration 36 | 37 | /// 38 | /// The DependencyProperty for property. 39 | /// 40 | public static readonly DependencyProperty FontFamilyProperty = 41 | DependencyProperty.Register( 42 | "FontFamily", 43 | typeof(FontFamily), 44 | typeof(LabelStyle), 45 | new PropertyMetadata(null)); 46 | 47 | /// 48 | /// The DependencyProperty for property. 49 | /// 50 | public static readonly DependencyProperty ForegroundProperty = 51 | DependencyProperty.Register( 52 | "Foreground", 53 | typeof(SolidColorBrush), 54 | typeof(LabelStyle), 55 | new PropertyMetadata(null)); 56 | 57 | /// 58 | /// The DependencyProperty for property. 59 | /// 60 | public static readonly DependencyProperty FontSizeProperty = 61 | DependencyProperty.Register( 62 | "FontSize", 63 | typeof(double), 64 | typeof(LabelStyle), 65 | new PropertyMetadata(null)); 66 | 67 | #endregion 68 | 69 | #region Constructor 70 | 71 | /// 72 | /// Initializes a new instance of the class. 73 | /// 74 | public LabelStyle() 75 | { 76 | } 77 | 78 | #endregion 79 | 80 | #region Properties 81 | 82 | #region Public Properties 83 | 84 | /// 85 | /// Gets or sets the font family for label 86 | /// 87 | public FontFamily FontFamily 88 | { 89 | get { return (FontFamily)GetValue(FontFamilyProperty); } 90 | set { SetValue(FontFamilyProperty, value); } 91 | } 92 | 93 | /// 94 | /// Gets or sets the foreground color for label 95 | /// 96 | public SolidColorBrush Foreground 97 | { 98 | get { return (SolidColorBrush)GetValue(ForegroundProperty); } 99 | set { SetValue(ForegroundProperty, value); } 100 | } 101 | 102 | /// 103 | /// Gets or sets the font size 104 | /// 105 | public double FontSize 106 | { 107 | get { return (double)GetValue(FontSizeProperty); } 108 | set { SetValue(FontSizeProperty, value); } 109 | } 110 | 111 | #endregion 112 | 113 | #endregion 114 | } 115 | } 116 | -------------------------------------------------------------------------------- /Src/Controls/ThemeDictionaries.cs: -------------------------------------------------------------------------------- 1 | // 2 | // Copyright Syncfusion Inc. 2001 - 2017. All rights reserved. 3 | // Use of this code is subject to the terms of our license. 4 | // A copy of the current license can be obtained at any time by e-mailing 5 | // licensing@syncfusion.com. Any infringement will be prosecuted under 6 | // applicable laws. 7 | // 8 | namespace Syncfusion.UI.Xaml.Charts 9 | { 10 | using System; 11 | using System.Collections.Generic; 12 | using System.Linq; 13 | using System.Text; 14 | using System.Threading.Tasks; 15 | using Windows.UI.Xaml; 16 | #if !Uno 17 | /// 18 | /// Represents the class. 19 | /// 20 | public partial class ThemeDictionaries : ResourceDictionary 21 | { 22 | #region Fields 23 | 24 | private ResourceDictionary lightThemeDictionary; 25 | 26 | private ResourceDictionary darkThemeDictionary; 27 | 28 | #endregion 29 | 30 | #region Properties 31 | 32 | #region Public Properties 33 | 34 | /// 35 | /// Gets or sets the light theme for phone 36 | /// 37 | public ResourceDictionary LightThemeDictionary 38 | { 39 | get 40 | { 41 | return lightThemeDictionary; 42 | } 43 | 44 | set 45 | { 46 | lightThemeDictionary = value; 47 | 48 | if (!IsDarkTheme && value != null) 49 | { 50 | MergedDictionaries.Add(value); 51 | } 52 | } 53 | } 54 | 55 | /// 56 | /// Gets or sets the dark theme for phone 57 | /// 58 | public ResourceDictionary DarkThemeDictionary 59 | { 60 | get 61 | { 62 | return darkThemeDictionary; 63 | } 64 | 65 | set 66 | { 67 | darkThemeDictionary = value; 68 | if (IsDarkTheme && value != null) 69 | { 70 | MergedDictionaries.Add(value); 71 | } 72 | } 73 | } 74 | 75 | #endregion 76 | 77 | #region Private Properties 78 | 79 | /// 80 | /// Gets a value indicating whether is dark theme applied. 81 | /// 82 | private static bool IsDarkTheme 83 | { 84 | get 85 | { 86 | return (Visibility)Application.Current.Resources["PhoneDarkThemeVisibility"] == Visibility.Visible; 87 | } 88 | } 89 | 90 | #endregion 91 | 92 | #endregion 93 | } 94 | #endif 95 | } 96 | -------------------------------------------------------------------------------- /Src/Controls/Watermark.cs: -------------------------------------------------------------------------------- 1 | // 2 | // Copyright Syncfusion Inc. 2001 - 2017. All rights reserved. 3 | // Use of this code is subject to the terms of our license. 4 | // A copy of the current license can be obtained at any time by e-mailing 5 | // licensing@syncfusion.com. Any infringement will be prosecuted under 6 | // applicable laws. 7 | // 8 | namespace Syncfusion.UI.Xaml.Charts 9 | { 10 | using System; 11 | using System.Collections.Generic; 12 | using System.Linq; 13 | using System.Text; 14 | using System.Windows; 15 | using Windows.UI.Xaml.Controls; 16 | 17 | /// 18 | /// Represents the class. 19 | /// 20 | public partial class Watermark : ContentControl 21 | { 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /Src/LinkerDefinition.Wasm.xml: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /Src/Model/Segments/FastStackingColumnBitmapSegment.cs: -------------------------------------------------------------------------------- 1 | using Syncfusion.UI.Xaml.Charts; 2 | using System; 3 | using System.Collections.Generic; 4 | using System.Linq; 5 | using System.Text; 6 | 7 | 8 | namespace Syncfusion.UI.Xaml.Charts 9 | { 10 | /// 11 | /// Represents a control that use a WriteableBitmap to define their appearance. 12 | /// 13 | /// 14 | public partial class FastStackingColumnSegment : FastColumnBitmapSegment 15 | { 16 | #region Constructor 17 | 18 | /// 19 | /// Called when instance created for FastStackingColumnSegment with following arguments 20 | /// 21 | /// 22 | /// 23 | /// 24 | /// 25 | /// 26 | public FastStackingColumnSegment(IList x1Values, IList y1Values, IList x2Values, IList y2Values, ChartSeries series) 27 | : base(x1Values, y1Values, x2Values, y2Values, series) 28 | { 29 | base.Series = series; 30 | base.Item = series.ActualData; 31 | } 32 | 33 | #endregion 34 | } 35 | } 36 | 37 | -------------------------------------------------------------------------------- /Src/Model/Segments/RangeColumnSegment.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using System.Threading.Tasks; 6 | 7 | namespace Syncfusion.UI.Xaml.Charts 8 | { 9 | /// 10 | /// Represents chart range column segment. 11 | /// 12 | /// Class instance is created automatically by WINRT Chart building system. 13 | /// 14 | public partial class RangeColumnSegment : ColumnSegment 15 | { 16 | #region Constructor 17 | 18 | /// 19 | /// Called when instance created for RangeColumnSegment 20 | /// 21 | /// 22 | /// 23 | /// 24 | /// 25 | /// 26 | public RangeColumnSegment(double x1, double y1, double x2, double y2, RangeColumnSeries series, object item) 27 | : base(x1, y1, x2, y2) 28 | { 29 | base.Series = series; 30 | base.customTemplate = series.CustomTemplate; 31 | base.Item = item; 32 | } 33 | 34 | #endregion 35 | 36 | #region Properties 37 | 38 | #region Public Properties 39 | 40 | /// 41 | /// Gets or sets the high(top) value bind with this segment. 42 | /// 43 | public double High { get; set; } 44 | 45 | /// 46 | /// Gets or sets the low(bottom) value bind with this segment. 47 | /// 48 | public double Low { get; set; } 49 | 50 | #endregion 51 | 52 | #endregion 53 | 54 | #region Methods 55 | 56 | #region Public Override Methods 57 | 58 | /// 59 | /// Updates the segments based on its data point value. This method is not 60 | /// intended to be called explicitly outside the Chart but it can be overridden by 61 | /// any derived class. 62 | /// 63 | /// Represents the view port of chart control.(refer ) 64 | public override void Update(IChartTransformer transformer) 65 | { 66 | if (!this.Series.IsMultipleYPathRequired) 67 | { 68 | var axisYRange = Series.ActualYAxis.VisibleRange; 69 | var median = (axisYRange.End - Math.Abs(axisYRange.Start)) / 2; 70 | var segmentMiddle = Top / 2; 71 | 72 | Top = median + segmentMiddle; 73 | Bottom = median - segmentMiddle; 74 | 75 | var index = Series.Segments.IndexOf(this); 76 | YData = (Series as RangeSeriesBase).High == null ? (Series as RangeSeriesBase).LowValues[index] : (Series as RangeSeriesBase).HighValues[index]; 77 | } 78 | else 79 | { 80 | High = Top; 81 | Low = Bottom; 82 | } 83 | 84 | base.Update(transformer); 85 | } 86 | 87 | #endregion 88 | 89 | #endregion 90 | } 91 | } 92 | -------------------------------------------------------------------------------- /Src/Model/Segments/StackingBarSegment.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using System.Threading.Tasks; 6 | 7 | namespace Syncfusion.UI.Xaml.Charts 8 | { 9 | /// 10 | /// Represents chart stacking bar segment. 11 | /// 12 | /// Class instance is created automatically by WINRT Chart building system. 13 | /// 14 | public partial class StackingBarSegment:BarSegment 15 | { 16 | #region Constructor 17 | 18 | /// 19 | /// Called when instance created for StackingBarSegment 20 | /// 21 | /// 22 | /// 23 | /// 24 | /// 25 | /// 26 | public StackingBarSegment(double x1,double y1,double x2,double y2,StackingBarSeries series):base(x1,y1,x2,y2) 27 | { 28 | base.Series = series; 29 | customTemplate = series.CustomTemplate; 30 | } 31 | 32 | #endregion 33 | } 34 | } 35 | -------------------------------------------------------------------------------- /Src/Model/Segments/StackingColumnSegment.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using Windows.UI.Xaml.Media; 6 | using System.Threading.Tasks; 7 | 8 | namespace Syncfusion.UI.Xaml.Charts 9 | { 10 | /// 11 | /// Represents chart stacking column segment. 12 | /// 13 | /// Class instance is created automatically by WINRT Chart building system. 14 | /// 15 | public partial class StackingColumnSegment : ColumnSegment 16 | { 17 | #region Constructor 18 | 19 | /// 20 | /// Called when instance created for StackingColumnSegment 21 | /// 22 | /// 23 | /// 24 | /// 25 | /// 26 | /// 27 | public StackingColumnSegment(double x1,double y1,double x2,double y2, StackingColumnSeries series) 28 | : base(x1,y1,x2,y2) 29 | { 30 | base.Series = series; 31 | customTemplate = series.CustomTemplate; 32 | } 33 | 34 | #endregion 35 | 36 | #region Methods 37 | 38 | #region Public Override Methods 39 | 40 | /// 41 | /// Updates the segments based on its data point value. This method is not 42 | /// intended to be called explicitly outside the Chart but it can be overridden by 43 | /// any derived class. 44 | /// 45 | /// Represents the view port of chart control.(refer ) 46 | public override void Update(IChartTransformer transformer) 47 | { 48 | base.Update(transformer); 49 | } 50 | 51 | #endregion 52 | 53 | #endregion 54 | } 55 | } 56 | -------------------------------------------------------------------------------- /Src/Model/Segments/TrendlineSegment.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using System.Threading.Tasks; 6 | using System.Windows; 7 | using Windows.Foundation; 8 | 9 | namespace Syncfusion.UI.Xaml.Charts 10 | { 11 | /// 12 | /// Class for TrendlineSegment. 13 | /// 14 | public partial class TrendlineSegment : SplineSegment 15 | { 16 | #region Constructors 17 | 18 | [Obsolete("Use TrendlineSegment(ChartPoint point1, ChartPoint point2, ChartPoint point3, ChartPoint point4, ChartSeriesBase series): base(point1, point2, point3, point4, series)")] 19 | public TrendlineSegment(Point point1, Point point2, Point point3, Point point4, ChartSeriesBase series) 20 | : base(point1, point2, point3, point4, series) 21 | { 22 | 23 | } 24 | 25 | public TrendlineSegment(ChartPoint point1, ChartPoint point2, ChartPoint point3, ChartPoint point4, ChartSeriesBase series) 26 | : base(point1, point2, point3, point4, series) 27 | { 28 | 29 | } 30 | 31 | #endregion 32 | } 33 | } 34 | -------------------------------------------------------------------------------- /Src/Panels/ChartAxisLayoutPanel.cs: -------------------------------------------------------------------------------- 1 | // 2 | // Copyright Syncfusion Inc. 2001 - 2017. All rights reserved. 3 | // Use of this code is subject to the terms of our license. 4 | // A copy of the current license can be obtained at any time by e-mailing 5 | // licensing@syncfusion.com. Any infringement will be prosecuted under 6 | // applicable laws. 7 | // 8 | namespace Syncfusion.UI.Xaml.Charts 9 | { 10 | using System; 11 | using System.Collections.Generic; 12 | using System.Linq; 13 | using System.Text; 14 | using System.Threading.Tasks; 15 | using Windows.Foundation; 16 | using Windows.UI.Xaml.Controls; 17 | 18 | /// 19 | /// Represents class. 20 | /// 21 | public partial class ChartAxisLayoutPanel : Panel 22 | { 23 | #region Properties 24 | 25 | /// 26 | /// Gets or sets AxisLayout property 27 | /// 28 | 29 | public ILayoutCalculator AxisLayout 30 | { 31 | get; 32 | set; 33 | } 34 | 35 | #endregion 36 | 37 | #region Methods 38 | 39 | #region Protected Methods 40 | 41 | /// 42 | /// Provides the behavior for the Measure pass of Silverlight layout. Classes can override this method to define their own Measure pass behavior. 43 | /// 44 | /// 45 | /// The size that this object determines it needs during layout, based on its calculations of the allocated sizes for child objects; or based on other considerations, such as a fixed container size. 46 | /// 47 | /// 48 | protected override Size MeasureOverride(Size availableSize) 49 | { 50 | availableSize = ChartLayoutUtils.CheckSize(availableSize); 51 | if (AxisLayout != null) 52 | { 53 | AxisLayout.Measure(availableSize); 54 | } 55 | return availableSize; 56 | } 57 | 58 | /// 59 | /// Provides the behavior for the Arrange pass of Silverlight layout. Classes can override this method to define their own Arrange pass behavior. 60 | /// 61 | /// 62 | /// The actual size that is used after the element is arranged in layout. 63 | /// 64 | /// The final area within the parent that this object should use to arrange itself and its children. 65 | protected override Size ArrangeOverride(Size finalSize) 66 | { 67 | if (AxisLayout != null) 68 | { 69 | AxisLayout.Arrange(finalSize); 70 | } 71 | return finalSize; 72 | } 73 | 74 | #endregion 75 | 76 | #endregion 77 | } 78 | } 79 | -------------------------------------------------------------------------------- /Src/Panels/ChartRootPanel.cs: -------------------------------------------------------------------------------- 1 | // 2 | // Copyright Syncfusion Inc. 2001 - 2017. All rights reserved. 3 | // Use of this code is subject to the terms of our license. 4 | // A copy of the current license can be obtained at any time by e-mailing 5 | // licensing@syncfusion.com. Any infringement will be prosecuted under 6 | // applicable laws. 7 | // 8 | namespace Syncfusion.UI.Xaml.Charts 9 | { 10 | using System; 11 | using System.Collections.Generic; 12 | using System.Linq; 13 | using System.Text; 14 | using System.Threading.Tasks; 15 | using Windows.Foundation; 16 | using Windows.UI.Xaml; 17 | using Windows.UI.Xaml.Controls; 18 | 19 | /// 20 | /// Represents the panel where all the child elements of Chart will be arranged. 21 | /// 22 | public partial class ChartRootPanel : Panel 23 | { 24 | #region Dependency Property Registration 25 | 26 | /// 27 | /// The DependencyProperty for property. 28 | /// 29 | public static readonly DependencyProperty MeasurePriorityIndexProperty = 30 | DependencyProperty.RegisterAttached( 31 | "MeasurePriorityIndex", 32 | typeof(int), 33 | typeof(ChartRootPanel), 34 | new PropertyMetadata(0)); 35 | 36 | #endregion 37 | 38 | #region Properties 39 | 40 | /// 41 | /// Gets or sets the chart area. 42 | /// 43 | internal ChartBase Area { get; set; } 44 | 45 | #endregion 46 | 47 | #region Methods 48 | 49 | /// 50 | /// Gets measure priority for this obj. 51 | /// 52 | /// 53 | /// 54 | public static int GetMeasurePriorityIndex(DependencyObject obj) 55 | { 56 | return (int)obj.GetValue(MeasurePriorityIndexProperty); 57 | } 58 | 59 | /// 60 | /// Sets the measure priority for this obj. 61 | /// 62 | /// 63 | /// 64 | public static void SetMeasurePriorityIndex(DependencyObject obj, int value) 65 | { 66 | obj.SetValue(MeasurePriorityIndexProperty, value); 67 | } 68 | 69 | #endregion 70 | 71 | #region Protected Methods 72 | 73 | /// 74 | /// Provides the behavior for the Measure pass of Silverlight layout. Classes can override this method to define their own Measure pass behavior. 75 | /// 76 | /// 77 | /// The size that this object determines it needs during layout, based on its calculations of the allocated sizes for child objects; or based on other considerations, such as a fixed container size. 78 | /// 79 | /// The Available Size 80 | protected override Size MeasureOverride(Size availableSize) 81 | { 82 | var elements = new List(); 83 | 84 | Size size = ChartLayoutUtils.CheckSize(availableSize); 85 | 86 | if (Area != null) 87 | { 88 | Area.RootPanelDesiredSize = size; 89 | } 90 | 91 | foreach (UIElement element in Children) 92 | { 93 | elements.Add(element); 94 | } 95 | 96 | IEnumerable uiElements = elements.OrderBy(GetMeasurePriorityIndex); 97 | 98 | foreach (UIElement element in uiElements) 99 | { 100 | element.Measure(availableSize); 101 | } 102 | 103 | return size; 104 | } 105 | 106 | /// 107 | /// Provides the behavior for the Arrange pass of Silverlight layout. Classes can override this method to define their own Arrange pass behavior. 108 | /// 109 | /// 110 | /// The actual size that is used after the element is arranged in layout. 111 | /// 112 | /// The final area within the parent that this object should use to arrange itself and its children. 113 | protected override Size ArrangeOverride(Size finalSize) 114 | { 115 | for (int i = Children.Count - 1; i >= 0; i--) 116 | { 117 | (Children[i] as FrameworkElement).Arrange(new Rect(0, 0, finalSize.Width, finalSize.Height)); 118 | } 119 | return finalSize; 120 | } 121 | 122 | #endregion 123 | } 124 | } 125 | -------------------------------------------------------------------------------- /Src/Panels/ChartTrendlinePanel.cs: -------------------------------------------------------------------------------- 1 | // 2 | // Copyright Syncfusion Inc. 2001 - 2017. All rights reserved. 3 | // Use of this code is subject to the terms of our license. 4 | // A copy of the current license can be obtained at any time by e-mailing 5 | // licensing@syncfusion.com. Any infringement will be prosecuted under 6 | // applicable laws. 7 | // 8 | namespace Syncfusion.UI.Xaml.Charts 9 | { 10 | using System; 11 | using System.Collections.Generic; 12 | using System.Collections.Specialized; 13 | using System.Linq; 14 | using System.Text; 15 | using Windows.Foundation; 16 | using Windows.UI.Xaml; 17 | using Windows.UI.Xaml.Controls; 18 | 19 | /// 20 | /// Represents a canvas panel that update the children while changing trend line collection. 21 | /// 22 | /// 23 | public partial class ChartTrendlinePanel : Canvas 24 | { 25 | #region Fields 26 | 27 | private TrendlineBase trend; 28 | 29 | #endregion 30 | 31 | #region Constructor 32 | 33 | /// 34 | /// Initializes a new instance of the class. 35 | /// 36 | public ChartTrendlinePanel() 37 | { 38 | } 39 | 40 | #endregion 41 | 42 | #region Properties 43 | 44 | #region Internal Properties 45 | 46 | internal TrendlineBase Trend 47 | { 48 | get 49 | { 50 | return trend; 51 | } 52 | 53 | set 54 | { 55 | if (Trend != null) 56 | { 57 | Trend.TrendlineSegments.CollectionChanged -= OnSegmentsCollectionChanged; 58 | } 59 | 60 | trend = value; 61 | 62 | if (trend != null) 63 | { 64 | trend.TrendlineSegments.CollectionChanged += OnSegmentsCollectionChanged; 65 | } 66 | } 67 | } 68 | 69 | #endregion 70 | 71 | #endregion 72 | 73 | #region Methods 74 | 75 | #region Internal Methods 76 | 77 | /// 78 | /// Updates the . 79 | /// 80 | /// The Final Size 81 | internal void Update(Size finalSize) 82 | { 83 | IChartTransformer chartTransformer = Trend.Series.CreateTransformer(finalSize, true); 84 | 85 | foreach (var segment in Trend.TrendlineSegments) 86 | { 87 | segment.Update(chartTransformer); 88 | } 89 | } 90 | 91 | #endregion 92 | 93 | #region Private Methods 94 | 95 | /// 96 | /// Updates the when segment collection changed. 97 | /// 98 | /// The Sender 99 | /// The Event Arguments 100 | private void OnSegmentsCollectionChanged(object sender, NotifyCollectionChangedEventArgs e) 101 | { 102 | if (e.Action == NotifyCollectionChangedAction.Add) 103 | { 104 | var segment = e.NewItems[0] as ChartSegment; 105 | if (!segment.IsAddedToVisualTree) 106 | { 107 | UIElement element = segment.CreateVisual(Size.Empty); 108 | if (element != null) 109 | { 110 | Children.Add(element); 111 | segment.IsAddedToVisualTree = true; 112 | } 113 | } 114 | } 115 | else if (e.Action == NotifyCollectionChangedAction.Remove) 116 | { 117 | var segment = e.OldItems[0] as ChartSegment; 118 | if (segment.IsAddedToVisualTree) 119 | { 120 | UIElement element = segment.GetRenderedVisual(); 121 | if (element != null && Children.Contains(element)) 122 | { 123 | Children.Remove(element); 124 | segment.IsAddedToVisualTree = false; 125 | } 126 | } 127 | } 128 | else if (e.Action == NotifyCollectionChangedAction.Reset) 129 | { 130 | Children.Clear(); 131 | } 132 | else if (e.Action == NotifyCollectionChangedAction.Replace) 133 | { 134 | var segment = e.NewItems[0] as ChartSegment; 135 | if (!segment.IsAddedToVisualTree) 136 | { 137 | UIElement element = segment.CreateSegmentVisual(Size.Empty); 138 | 139 | if (element != null) 140 | { 141 | Children.Add(element); 142 | segment.IsAddedToVisualTree = true; 143 | } 144 | } 145 | } 146 | } 147 | 148 | #endregion 149 | 150 | #endregion 151 | } 152 | } 153 | -------------------------------------------------------------------------------- /Src/Properties/PublishProfiles/FolderProfile.pubxml: -------------------------------------------------------------------------------- 1 |  2 | 5 | 6 | 7 | FileSystem 8 | Release 9 | Any CPU 10 | netstandard2.0 11 | bin\Debug\netstandard2.0\publish\ 12 | 13 | -------------------------------------------------------------------------------- /Src/Resources/SR.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Diagnostics; 4 | using System.Globalization; 5 | using System.Linq; 6 | using System.Reflection; 7 | using System.Resources; 8 | using System.Text; 9 | using System.Threading.Tasks; 10 | using Windows.ApplicationModel.Resources; 11 | using Windows.UI.Xaml; 12 | 13 | namespace Syncfusion.UI.Xaml.Charts 14 | { 15 | sealed class SR 16 | { 17 | internal static ResourceManager ResourceManager { get; set; } 18 | private ResourceLoader resources; 19 | private static SR loader = null; 20 | private SR() 21 | { 22 | //http://msdn.microsoft.com/en-us/library/windows/apps/xaml/Hh965329%28v=win.10%29.aspx 23 | ResourceLoader localizedManager = GetLocalizedResourceManager(); 24 | if (localizedManager == null) 25 | { 26 | this.resources = ResourceLoader.GetForCurrentView("Syncfusion.SfChart.Uno/Syncfusion.SfChart.Uno.Resources"); 27 | } 28 | else 29 | { 30 | this.resources = localizedManager; 31 | } 32 | } 33 | private static SR GetLoader() 34 | { 35 | lock (typeof(SR)) 36 | { 37 | if (SR.loader == null) 38 | SR.loader = new SR(); 39 | return SR.loader; 40 | } 41 | } 42 | private static ResourceLoader GetLocalizedResourceManager() 43 | { 44 | try 45 | { 46 | if (Windows.ApplicationModel.DesignMode.DesignModeEnabled) 47 | { 48 | return null; 49 | } 50 | if (Application.Current != null) 51 | { 52 | ResourceLoader manager = ResourceLoader.GetForCurrentView("Syncfusion.SfChart.Uno.Resources"); 53 | return manager; 54 | } 55 | } 56 | catch (Exception) 57 | { 58 | } 59 | return null; 60 | } 61 | internal static string GetString(CultureInfo culture, string name) 62 | { 63 | if(ResourceManager != null) 64 | { 65 | string value = string.Empty; 66 | 67 | try 68 | { 69 | value = ResourceManager.GetString(name, culture); 70 | } 71 | 72 | catch (MissingManifestResourceException) 73 | { 74 | 75 | } 76 | 77 | if (!string.IsNullOrEmpty(value)) 78 | { 79 | return value; 80 | } 81 | } 82 | 83 | SR sr = SR.GetLoader(); 84 | if (sr == null) 85 | return null; 86 | string localizedString = string.Empty; 87 | if (sr.resources == null) 88 | return null; 89 | localizedString= sr.resources.GetString(name); 90 | if (string.IsNullOrEmpty(localizedString)) 91 | { 92 | var resources = ResourceLoader.GetForCurrentView("Syncfusion.SfChart.Uno/Syncfusion.SfChart.UWP.Resources"); 93 | localizedString = resources.GetString(name); 94 | } 95 | return localizedString; 96 | } 97 | } 98 | } 99 | 100 | -------------------------------------------------------------------------------- /Src/Syncfusion.SfChart.Uno.csproj: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | netstandard2.0;xamarinios10;monoandroid10.0;uap10.0.18362 5 | 6 | true 7 | false 8 | Syncfusion 9 | Syncfusion Chart control for Uno 10 | https://www.syncfusion.com 11 | 12 | 13 | TRACE;__WASM__;NETFX_CORE;WINDOWS_UAP;SyncfusionFramework4_6;UNIVERSALWINDOWS;Uno; 14 | 15 | 16 | TRACE;NETFX_CORE;WINDOWS_UAP;SyncfusionFramework4_6;UNIVERSALWINDOWS;Uno; 17 | 18 | 19 | 20 | 21 | 22 | false 23 | 24 | 25 | 26 | 27 | %(Filename) 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | 71 | $(AssemblyName).xml 72 | 73 | 74 | -------------------------------------------------------------------------------- /Src/Syncfusion.SfChart.Uno.sln: -------------------------------------------------------------------------------- 1 |  2 | Microsoft Visual Studio Solution File, Format Version 12.00 3 | # Visual Studio 15 4 | VisualStudioVersion = 15.0.28307.705 5 | MinimumVisualStudioVersion = 10.0.40219.1 6 | Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Syncfusion.SfChart.Uno", "Syncfusion.SfChart.Uno.csproj", "{66DB15F8-E440-4AC3-AF69-283A16F11F1D}" 7 | EndProject 8 | Global 9 | GlobalSection(SolutionConfigurationPlatforms) = preSolution 10 | Debug|Any CPU = Debug|Any CPU 11 | Release|Any CPU = Release|Any CPU 12 | EndGlobalSection 13 | GlobalSection(ProjectConfigurationPlatforms) = postSolution 14 | {66DB15F8-E440-4AC3-AF69-283A16F11F1D}.Debug|Any CPU.ActiveCfg = Debug|Any CPU 15 | {66DB15F8-E440-4AC3-AF69-283A16F11F1D}.Debug|Any CPU.Build.0 = Debug|Any CPU 16 | {66DB15F8-E440-4AC3-AF69-283A16F11F1D}.Release|Any CPU.ActiveCfg = Release|Any CPU 17 | {66DB15F8-E440-4AC3-AF69-283A16F11F1D}.Release|Any CPU.Build.0 = Release|Any CPU 18 | EndGlobalSection 19 | GlobalSection(SolutionProperties) = preSolution 20 | HideSolutionNode = FALSE 21 | EndGlobalSection 22 | GlobalSection(ExtensibilityGlobals) = postSolution 23 | SolutionGuid = {6A11938D-30F4-412C-9E4A-B66AE67E5553} 24 | EndGlobalSection 25 | EndGlobal 26 | -------------------------------------------------------------------------------- /Src/Themes/ChartArea.xaml: -------------------------------------------------------------------------------- 1 | 5 | 6 | 47 | 48 | 49 | -------------------------------------------------------------------------------- /Src/Trendlines/Trendline.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | 6 | 7 | namespace Syncfusion.UI.Xaml.Charts 8 | { 9 | public partial class Trendline : TrendlineBase 10 | { 11 | public Trendline() 12 | { 13 | } 14 | 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /Src/Utils/ChartCloning.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Collections.ObjectModel; 4 | using System.Linq; 5 | using System.Text; 6 | using Windows.Foundation; 7 | using Windows.UI.Xaml.Controls; 8 | 9 | namespace Syncfusion.UI.Xaml.Charts 10 | { 11 | /// 12 | /// Represents a ChartCloning class implentation. 13 | /// 14 | public static class ChartCloning 15 | { 16 | internal static void CloneControl(Control origianl, Control copy) 17 | { 18 | if (origianl != null&©!=null) 19 | { 20 | copy.DataContext = origianl.DataContext; 21 | copy.HorizontalAlignment = origianl.HorizontalAlignment; 22 | copy.Language = origianl.Language; 23 | copy.Background = origianl.Background; 24 | copy.BorderBrush = origianl.BorderBrush; 25 | copy.BorderThickness = origianl.BorderThickness; 26 | copy.FlowDirection = origianl.FlowDirection; 27 | copy.FontFamily = origianl.FontFamily; 28 | copy.FontSize = origianl.FontSize; 29 | copy.FontStretch = origianl.FontStretch; 30 | copy.FontStyle = origianl.FontStyle; 31 | copy.FontWeight = origianl.FontWeight; 32 | copy.Foreground = origianl.Foreground; 33 | copy.HorizontalContentAlignment = origianl.HorizontalContentAlignment; 34 | copy.IsEnabled = origianl.IsEnabled; 35 | copy.IsHitTestVisible = origianl.IsHitTestVisible; 36 | copy.IsTabStop = origianl.IsTabStop; 37 | copy.Language = origianl.Language; 38 | copy.Margin = origianl.Margin; 39 | copy.MaxHeight = origianl.MaxHeight; 40 | copy.MaxWidth = origianl.MaxWidth; 41 | copy.MinHeight = origianl.MinHeight; 42 | copy.MinWidth = origianl.MinWidth; 43 | copy.Opacity = origianl.Opacity; 44 | copy.Padding = origianl.Padding; 45 | copy.RenderTransform = origianl.RenderTransform; 46 | copy.RenderTransformOrigin = origianl.RenderTransformOrigin; 47 | copy.Style = origianl.Style; 48 | copy.TabIndex = origianl.TabIndex; 49 | copy.Tag = origianl.Tag; 50 | copy.Template = origianl.Template; 51 | copy.UseLayoutRounding = origianl.UseLayoutRounding; 52 | copy.VerticalAlignment = origianl.VerticalAlignment; 53 | copy.VerticalContentAlignment = origianl.VerticalContentAlignment; 54 | copy.Visibility = origianl.Visibility; 55 | } 56 | } 57 | } 58 | } 59 | -------------------------------------------------------------------------------- /Src/Utils/DateTimeRange.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using System.Threading.Tasks; 6 | 7 | namespace Syncfusion.UI.Xaml.Charts 8 | { 9 | /// 10 | /// Defines memebers and methods to handle DateTime type range in . 11 | /// 12 | 13 | public struct DateTimeRange :IEquatable 14 | { 15 | #region Members 16 | /// 17 | /// Initilaizes m_start 18 | /// 19 | private DateTime m_start; 20 | 21 | /// 22 | /// Initilaizes m_end 23 | /// 24 | private DateTime m_end; 25 | #endregion 26 | 27 | #region Constructor 28 | /// 29 | /// Initializes a new instance of the struct. 30 | /// 31 | /// The range start. 32 | /// The range end. 33 | public DateTimeRange(DateTime rangeStart, DateTime rangeEnd) 34 | { 35 | m_start = rangeStart; 36 | m_end = rangeEnd; 37 | } 38 | #endregion 39 | 40 | #region Properties 41 | /// 42 | /// Gets a value indicating whether this instance is empty. 43 | /// 44 | /// true if this instance is empty; otherwise, false. 45 | 46 | public bool IsEmpty 47 | { 48 | get 49 | { 50 | return m_end <= m_start; 51 | } 52 | } 53 | 54 | /// 55 | /// Gets the start. 56 | /// 57 | /// The start. 58 | 59 | public DateTime Start 60 | { 61 | get 62 | { 63 | return m_start; 64 | } 65 | } 66 | 67 | /// 68 | /// Gets the end. 69 | /// 70 | /// The end value. 71 | 72 | public DateTime End 73 | { 74 | get 75 | { 76 | return m_end; 77 | } 78 | } 79 | #endregion 80 | 81 | #region Methods 82 | 83 | public override int GetHashCode() 84 | { 85 | return base.GetHashCode(); 86 | } 87 | 88 | public override bool Equals(Object obj) 89 | { 90 | if(!(obj is DateTimeRange)) 91 | { 92 | return false; 93 | } 94 | 95 | return Equals((DateTimeRange)obj); 96 | } 97 | 98 | public bool Equals(DateTimeRange other) 99 | { 100 | if(Start != other.Start) 101 | { 102 | return false; 103 | } 104 | 105 | return End == other.End; 106 | } 107 | 108 | public static bool operator ==(DateTimeRange point1, DateTimeRange point2) 109 | { 110 | return point1.Equals(point2); 111 | } 112 | 113 | public static bool operator !=(DateTimeRange point1, DateTimeRange point2) 114 | { 115 | return !point1.Equals(point2); 116 | } 117 | 118 | #endregion 119 | } 120 | } 121 | -------------------------------------------------------------------------------- /Src/Utils/ErrorBarLineStyles/CapLineStyle.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using Windows.UI.Xaml; 6 | 7 | namespace Syncfusion.UI.Xaml.Charts 8 | { 9 | /// 10 | /// Represents a dependency object that display a cap style in error bar. 11 | /// 12 | /// 13 | public partial class CapLineStyle : LineStyle 14 | { 15 | 16 | public CapLineStyle(ChartSeriesBase series) 17 | : base(series) 18 | { 19 | } 20 | 21 | public CapLineStyle() 22 | { 23 | 24 | } 25 | /// 26 | /// The DependencyProperty for property. 27 | /// 28 | public static readonly DependencyProperty VisibilityProperty = 29 | DependencyProperty.Register("Visibility", typeof(Visibility), typeof(CapLineStyle), 30 | new PropertyMetadata(Visibility.Visible, OnPropertyChange)); 31 | 32 | /// 33 | /// Gets or sets the visiblity for the line 34 | /// 35 | public Visibility Visibility 36 | { 37 | get { return (Visibility)GetValue(VisibilityProperty); } 38 | set { SetValue(VisibilityProperty, value); } 39 | } 40 | /// 41 | /// The DependencyProperty for property. 42 | /// 43 | public static readonly DependencyProperty LineWidthProperty = 44 | DependencyProperty.Register("LineWidth", typeof(double), typeof(CapLineStyle), 45 | new PropertyMetadata(10d, OnPropertyChange)); 46 | 47 | private static void OnPropertyChange(DependencyObject obj, DependencyPropertyChangedEventArgs dependencyPropertyChangedEventArgs) 48 | { 49 | var chartSeries = (obj as CapLineStyle).Series; 50 | if (chartSeries != null) chartSeries.ActualArea.ScheduleUpdate(); 51 | } 52 | 53 | /// 54 | /// Gets or sets a width for the line 55 | /// 56 | public double LineWidth 57 | { 58 | get { return (double)GetValue(LineWidthProperty); } 59 | set { SetValue(LineWidthProperty, value); } 60 | } 61 | 62 | } 63 | } 64 | -------------------------------------------------------------------------------- /Src/Utils/Interfaces.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections; 3 | using System.Collections.Generic; 4 | using System.Linq; 5 | using System.Text; 6 | using System.Threading; 7 | using Windows.UI.Xaml; 8 | 9 | namespace Syncfusion.UI.Xaml.Charts 10 | { 11 | /// 12 | /// Inteface implementation for IRangeAxis 13 | /// 14 | /// 15 | public interface IRangeAxis where T : IComparable 16 | { 17 | /// 18 | /// Gets or sets Minimum property 19 | /// 20 | T Minimum 21 | { 22 | get; 23 | set; 24 | } 25 | 26 | /// 27 | /// Gets or sets Maximum property 28 | /// 29 | T Maximum 30 | { 31 | get; 32 | set; 33 | } 34 | } 35 | 36 | /// 37 | /// Interface implementation for IRangeAxis 38 | /// 39 | public interface IRangeAxis 40 | { 41 | /// 42 | /// Gets Range property 43 | /// 44 | DoubleRange Range { get; } 45 | } 46 | 47 | /// 48 | /// Interface implementation for IChartAxis 49 | /// 50 | public interface IChartAxis 51 | { 52 | /// 53 | /// Gets or sets VisibleLabels property 54 | /// 55 | ChartAxisLabelCollection VisibleLabels 56 | { 57 | get; 58 | set; 59 | } 60 | } 61 | 62 | /// 63 | /// Interface implementation for IChartSeries 64 | /// 65 | public interface IChartSeries 66 | { 67 | /// 68 | /// Gets or sets ItemsSource property 69 | /// 70 | IEnumerable ItemsSource 71 | { 72 | get; 73 | set; 74 | } 75 | } 76 | 77 | /// 78 | /// Interface implementation for ISupportAxes 79 | /// 80 | public interface ISupportAxes 81 | { 82 | /// 83 | /// Gets XRange property 84 | /// 85 | DoubleRange XRange 86 | { 87 | get; 88 | } 89 | 90 | /// 91 | /// Gets YRange property 92 | /// 93 | DoubleRange YRange 94 | { 95 | get; 96 | } 97 | 98 | /// 99 | /// Gets ActualXAxis property 100 | /// 101 | ChartAxis ActualXAxis { get; } 102 | /// 103 | /// Gets ActualYAxis property 104 | /// 105 | ChartAxis ActualYAxis { get; } 106 | } 107 | 108 | public interface ISupportAxes2D : ISupportAxes 109 | { 110 | /// 111 | /// Gets or sets YAxis property 112 | /// 113 | RangeAxisBase YAxis 114 | { 115 | get; 116 | set; 117 | } 118 | 119 | /// 120 | /// Gets or sets XAxis property 121 | /// 122 | ChartAxisBase2D XAxis 123 | { 124 | get; 125 | set; 126 | } 127 | } 128 | 129 | public interface ISupportAxes3D : ISupportAxes 130 | { 131 | 132 | } 133 | 134 | 135 | /// 136 | /// Interface implementation for ICloneable 137 | /// 138 | public interface ICloneable 139 | { 140 | DependencyObject Clone(); 141 | } 142 | 143 | } 144 | -------------------------------------------------------------------------------- /Src/Utils/ResourceDictionaries.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using Windows.UI.Xaml; 6 | using System.Threading.Tasks; 7 | 8 | namespace Syncfusion.UI.Xaml.Charts 9 | { 10 | /// 11 | /// Contains Chart resource dictionaries 12 | /// 13 | internal static class ChartDictionaries 14 | { 15 | [ThreadStatic] 16 | private static ResourceDictionary genericLegendDictionary; 17 | 18 | internal static ResourceDictionary GenericLegendDictionary 19 | { 20 | 21 | get 22 | { 23 | if (genericLegendDictionary == null) 24 | { 25 | 26 | genericLegendDictionary = new ResourceDictionary() 27 | { 28 | 29 | #if WINDOWS_UAP 30 | Source = new Uri(@"ms-appx:///Syncfusion.SfChart.Uno/Themes/Generic.Legend.xaml") 31 | #endif 32 | }; 33 | 34 | } 35 | return genericLegendDictionary; 36 | } 37 | } 38 | 39 | [ThreadStatic] 40 | private static ResourceDictionary genericSymbolDictionary; 41 | 42 | internal static ResourceDictionary GenericSymbolDictionary 43 | { 44 | get 45 | { 46 | if(genericSymbolDictionary == null) 47 | { 48 | genericSymbolDictionary = new ResourceDictionary() 49 | { 50 | #if WINDOWS_UAP 51 | Source = new Uri(@"ms-appx:///Syncfusion.SfChart.Uno/Themes/Generic.Symbol.xaml") 52 | #endif 53 | }; 54 | } 55 | 56 | return genericSymbolDictionary; 57 | } 58 | } 59 | 60 | [ThreadStatic] 61 | private static ResourceDictionary genericCommonDictionary; 62 | 63 | internal static ResourceDictionary GenericCommonDictionary 64 | { 65 | get 66 | { 67 | if(genericCommonDictionary == null) 68 | { 69 | genericCommonDictionary = new ResourceDictionary() 70 | { 71 | #if WINDOWS_UAP 72 | Source = new Uri(@"ms-appx:///Syncfusion.SfChart.Uno/Themes/Generic.Common.xaml") 73 | #endif 74 | }; 75 | } 76 | 77 | return genericCommonDictionary; 78 | } 79 | } 80 | } 81 | } 82 | --------------------------------------------------------------------------------