├── .gitattributes ├── .github ├── CONTRIBUTING.md └── workflows │ └── dotnet.yml ├── .gitignore ├── AUTHORS ├── CHANGELOG.md ├── CONTRIBUTORS ├── GitVersionConfig.yaml ├── LICENSE ├── OxyPlot_128.png ├── README.md ├── Source ├── Examples │ ├── ExampleBrowser.Android │ │ ├── CategoryListActivity.cs │ │ ├── ExampleBrowser.Android.csproj │ │ ├── ExampleListActivity.cs │ │ ├── PlotActivity.cs │ │ ├── Properties │ │ │ ├── AndroidManifest.xml │ │ │ └── AssemblyInfo.cs │ │ ├── Resources │ │ │ ├── Drawable │ │ │ │ └── icon.png │ │ │ ├── Layout │ │ │ │ ├── ListItem.axml │ │ │ │ └── PlotActivity.axml │ │ │ └── Values │ │ │ │ └── Strings.xml │ │ └── packages.config │ ├── ExampleBrowser.Mac │ │ ├── AppDelegate.cs │ │ ├── AppDelegate.designer.cs │ │ ├── ExampleBrowser.Mac.csproj │ │ ├── Info.plist │ │ ├── Main.cs │ │ ├── PlotWindow.cs │ │ ├── PlotWindow.designer.cs │ │ ├── PlotWindow.xib │ │ ├── PlotWindowController.cs │ │ ├── PlotWindowController.designer.cs │ │ └── packages.config │ ├── ExampleBrowser.iOS │ │ ├── AppDelegate.cs │ │ ├── Entitlements.plist │ │ ├── ExampleBrowser.iOS.csproj │ │ ├── GraphViewController.cs │ │ ├── Images │ │ │ ├── ExampleBrowser_1024x748.png │ │ │ ├── ExampleBrowser_1536x2008.png │ │ │ ├── ExampleBrowser_2048x1496.png │ │ │ ├── ExampleBrowser_320x480.png │ │ │ ├── ExampleBrowser_640x1136.png │ │ │ ├── ExampleBrowser_640x960.png │ │ │ └── ExampleBrowser_768x1004.png │ │ ├── Info.plist │ │ ├── Main.cs │ │ ├── Resources │ │ │ ├── Default-568h@2x.png │ │ │ ├── Default-Landscape.png │ │ │ ├── Default-Landscape@2x.png │ │ │ ├── Default-Portrait.png │ │ │ ├── Default-Portrait@2x.png │ │ │ ├── Default.png │ │ │ └── Default@2x.png │ │ └── packages.config │ ├── Windows │ │ └── SimpleDemo │ │ │ ├── App.xaml │ │ │ ├── App.xaml.cs │ │ │ ├── Assets │ │ │ ├── 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 │ │ │ ├── MainViewModel.cs │ │ │ ├── Package.appxmanifest │ │ │ ├── Properties │ │ │ ├── AssemblyInfo.cs │ │ │ └── Default.rd.xml │ │ │ └── SimpleDemo.csproj │ └── Xamarin.Forms │ │ ├── IssueDemos │ │ ├── IssueDemos.Droid │ │ │ ├── Assets │ │ │ │ └── AboutAssets.txt │ │ │ ├── IssueDemos.Droid.csproj │ │ │ ├── MainActivity.cs │ │ │ ├── Properties │ │ │ │ ├── AndroidManifest.xml │ │ │ │ └── AssemblyInfo.cs │ │ │ ├── Resources │ │ │ │ ├── AboutResources.txt │ │ │ │ ├── drawable-hdpi │ │ │ │ │ └── icon.png │ │ │ │ ├── drawable-xhdpi │ │ │ │ │ └── icon.png │ │ │ │ ├── drawable-xxhdpi │ │ │ │ │ └── icon.png │ │ │ │ ├── drawable │ │ │ │ │ └── icon.png │ │ │ │ └── values │ │ │ │ │ └── Strings.xml │ │ │ └── packages.config │ │ ├── IssueDemos.WinPhone │ │ │ ├── App.xaml │ │ │ ├── App.xaml.cs │ │ │ ├── Assets │ │ │ │ ├── AlignmentGrid.png │ │ │ │ ├── ApplicationIcon.png │ │ │ │ └── Tiles │ │ │ │ │ ├── FlipCycleTileLarge.png │ │ │ │ │ ├── FlipCycleTileMedium.png │ │ │ │ │ ├── FlipCycleTileSmall.png │ │ │ │ │ ├── IconicTileMediumLarge.png │ │ │ │ │ └── IconicTileSmall.png │ │ │ ├── IssueDemos.WinPhone.csproj │ │ │ ├── LocalizedStrings.cs │ │ │ ├── MainPage.xaml │ │ │ ├── MainPage.xaml.cs │ │ │ ├── Properties │ │ │ │ ├── AppManifest.xml │ │ │ │ ├── AssemblyInfo.cs │ │ │ │ └── WMAppManifest.xml │ │ │ ├── README_FIRST.txt │ │ │ ├── Resources │ │ │ │ ├── AppResources.Designer.cs │ │ │ │ └── AppResources.resx │ │ │ ├── SplashScreenImage.jpg │ │ │ ├── Toolkit.Content │ │ │ │ ├── ApplicationBar.Add.png │ │ │ │ ├── ApplicationBar.Cancel.png │ │ │ │ ├── ApplicationBar.Check.png │ │ │ │ ├── ApplicationBar.Delete.png │ │ │ │ └── ApplicationBar.Select.png │ │ │ └── packages.config │ │ ├── IssueDemos.iOS │ │ │ ├── AppDelegate.cs │ │ │ ├── Entitlements.plist │ │ │ ├── Info.plist │ │ │ ├── IssueDemos.iOS.csproj │ │ │ ├── Main.cs │ │ │ ├── Properties │ │ │ │ └── AssemblyInfo.cs │ │ │ ├── Resources │ │ │ │ ├── Default-568h@2x.png │ │ │ │ ├── Default-Portrait.png │ │ │ │ ├── Default-Portrait@2x.png │ │ │ │ ├── Default.png │ │ │ │ ├── Default@2x.png │ │ │ │ ├── Icon-60@2x.png │ │ │ │ ├── Icon-60@3x.png │ │ │ │ ├── Icon-76.png │ │ │ │ ├── Icon-76@2x.png │ │ │ │ ├── Icon-Small-40.png │ │ │ │ ├── Icon-Small-40@2x.png │ │ │ │ ├── Icon-Small-40@3x.png │ │ │ │ ├── Icon-Small.png │ │ │ │ ├── Icon-Small@2x.png │ │ │ │ ├── Icon-Small@3x.png │ │ │ │ └── LaunchScreen.storyboard │ │ │ ├── iTunesArtwork │ │ │ ├── iTunesArtwork@2x │ │ │ └── packages.config │ │ └── IssueDemos │ │ │ ├── App.cs │ │ │ ├── DemoInfo.cs │ │ │ ├── DemoPageAttribute.cs │ │ │ ├── IssueDemos.csproj │ │ │ ├── MainPage.xaml │ │ │ ├── MainPage.xaml.cs │ │ │ ├── Pages │ │ │ ├── AddPlotViews.xaml │ │ │ ├── AddPlotViews.xaml.cs │ │ │ ├── AllBackgroundColorsSet.xaml │ │ │ ├── AllBackgroundColorsSet.xaml.cs │ │ │ ├── BackgroundColorPickers.xaml │ │ │ ├── BackgroundColorPickers.xaml.cs │ │ │ ├── CarouselPageWithItemTemplate.cs │ │ │ ├── ChangeVisibility.xaml │ │ │ ├── ChangeVisibility.xaml.cs │ │ │ ├── NoBackgroundColor.xaml │ │ │ ├── NoBackgroundColor.xaml.cs │ │ │ ├── PageBackgroundColor.xaml │ │ │ ├── PageBackgroundColor.xaml.cs │ │ │ ├── PlotModelBackground.xaml │ │ │ ├── PlotModelBackground.xaml.cs │ │ │ ├── PlotViewBackgroundColor.xaml │ │ │ ├── PlotViewBackgroundColor.xaml.cs │ │ │ ├── TabbedPageWithItemTemplate.cs │ │ │ └── TapDemo │ │ │ │ ├── MainPage.cs │ │ │ │ └── TapTouchManipulator.cs │ │ │ ├── Properties │ │ │ └── AssemblyInfo.cs │ │ │ └── packages.config │ │ └── SimpleDemo │ │ ├── SimpleDemo.Android │ │ ├── Assets │ │ │ └── AboutAssets.txt │ │ ├── MainActivity.cs │ │ ├── Properties │ │ │ ├── AndroidManifest.xml │ │ │ └── AssemblyInfo.cs │ │ ├── Resources │ │ │ ├── AboutResources.txt │ │ │ ├── layout │ │ │ │ ├── Tabbar.axml │ │ │ │ └── Toolbar.axml │ │ │ ├── mipmap-anydpi-v26 │ │ │ │ ├── icon.xml │ │ │ │ └── icon_round.xml │ │ │ ├── mipmap-hdpi │ │ │ │ ├── Icon.png │ │ │ │ └── launcher_foreground.png │ │ │ ├── mipmap-mdpi │ │ │ │ ├── icon.png │ │ │ │ └── launcher_foreground.png │ │ │ ├── mipmap-xhdpi │ │ │ │ ├── Icon.png │ │ │ │ └── launcher_foreground.png │ │ │ ├── mipmap-xxhdpi │ │ │ │ ├── Icon.png │ │ │ │ └── launcher_foreground.png │ │ │ ├── mipmap-xxxhdpi │ │ │ │ ├── Icon.png │ │ │ │ └── launcher_foreground.png │ │ │ └── values │ │ │ │ ├── colors.xml │ │ │ │ └── styles.xml │ │ └── SimpleDemo.Android.csproj │ │ ├── SimpleDemo.MacOS │ │ ├── AppDelegate.cs │ │ ├── Assets.xcassets │ │ │ ├── AppIcon.appiconset │ │ │ │ ├── AppIcon-128.png │ │ │ │ ├── AppIcon-128@2x.png │ │ │ │ ├── AppIcon-16.png │ │ │ │ ├── AppIcon-16@2x.png │ │ │ │ ├── AppIcon-256.png │ │ │ │ ├── AppIcon-256@2x.png │ │ │ │ ├── AppIcon-32.png │ │ │ │ ├── AppIcon-32@2x.png │ │ │ │ ├── AppIcon-512.png │ │ │ │ ├── AppIcon-512@2x.png │ │ │ │ └── Contents.json │ │ │ └── Contents.json │ │ ├── Entitlements.plist │ │ ├── Info.plist │ │ ├── Main.cs │ │ ├── SimpleDemo.MacOS.csproj │ │ └── packages.config │ │ ├── SimpleDemo.iOS │ │ ├── AppDelegate.cs │ │ ├── Assets.xcassets │ │ │ └── AppIcon.appiconset │ │ │ │ ├── Contents.json │ │ │ │ ├── Icon1024.png │ │ │ │ ├── Icon120.png │ │ │ │ ├── Icon152.png │ │ │ │ ├── Icon167.png │ │ │ │ ├── Icon180.png │ │ │ │ ├── Icon20.png │ │ │ │ ├── Icon29.png │ │ │ │ ├── Icon40.png │ │ │ │ ├── Icon58.png │ │ │ │ ├── Icon60.png │ │ │ │ ├── Icon76.png │ │ │ │ ├── Icon80.png │ │ │ │ └── Icon87.png │ │ ├── Entitlements.plist │ │ ├── Info.plist │ │ ├── Main.cs │ │ ├── Properties │ │ │ └── AssemblyInfo.cs │ │ ├── Resources │ │ │ ├── Default-568h@2x.png │ │ │ ├── Default-Portrait.png │ │ │ ├── Default-Portrait@2x.png │ │ │ ├── Default.png │ │ │ ├── Default@2x.png │ │ │ └── LaunchScreen.storyboard │ │ └── SimpleDemo.iOS.csproj │ │ └── SimpleDemo │ │ ├── App.xaml │ │ ├── App.xaml.cs │ │ ├── MainPage.xaml │ │ ├── MainPage.xaml.cs │ │ └── SimpleDemo.csproj ├── OxyPlot.UWP │ ├── Converters │ │ ├── OxyColorConverter.cs │ │ └── ThicknessConverter.cs │ ├── OxyPlot.UWP.csproj │ ├── OxyPlot.Windows.snk │ ├── PlotView.cs │ ├── Properties │ │ ├── AssemblyInfo.cs │ │ └── OxyPlot.Windows.rd.xml │ ├── RenderContext.cs │ ├── Themes │ │ └── Generic.xaml │ ├── Tracker │ │ ├── TrackerControl.cs │ │ └── TrackerDefinition.cs │ └── Utilities │ │ ├── ConverterExtensions.cs │ │ └── MouseButtonHelper.cs ├── OxyPlot.Xamarin.Android │ ├── CanvasRenderContext.cs │ ├── ExtensionMethods.cs │ ├── Main.axml │ ├── OxyPlot.Xamarin.Android.csproj │ ├── PlotView.cs │ └── Properties │ │ └── AssemblyInfo.cs ├── OxyPlot.Xamarin.Forms-mac.slnf ├── OxyPlot.Xamarin.Forms.Platform.Android │ ├── Forms.cs │ ├── OxyPlot.Xamarin.Forms.Platform.Android.csproj │ ├── PlotViewRenderer.cs │ └── Properties │ │ └── AssemblyInfo.cs ├── OxyPlot.Xamarin.Forms.Platform.MacOS │ ├── OxyPlot.Xamarin.Forms.Platform.MacOS.csproj │ ├── PlotViewRenderer.cs │ └── Properties │ │ └── AssemblyInfo.cs ├── OxyPlot.Xamarin.Forms.Platform.UWP │ ├── OxyPlot.Xamarin.Forms.Platform.UWP.csproj │ ├── PlotViewRenderer.cs │ └── Properties │ │ ├── AssemblyInfo.cs │ │ └── OxyPlot.Xamarin.Forms.Platform.UWP.rd.xml ├── OxyPlot.Xamarin.Forms.Platform.iOS │ ├── Forms.cs │ ├── OxyPlot.Xamarin.Forms.Platform.iOS.csproj │ ├── PlotViewRenderer.cs │ └── Properties │ │ └── AssemblyInfo.cs ├── OxyPlot.Xamarin.Forms.nuspec ├── OxyPlot.Xamarin.Forms.sln ├── OxyPlot.Xamarin.Forms │ ├── ExtensionMethods.cs │ ├── OxyPlot.Xamarin.Forms.csproj │ └── PlotView.cs ├── OxyPlot.Xamarin.Mac │ ├── ConverterExtensions.cs │ ├── CoreGraphicsRenderContext.cs │ ├── OxyPlot.Xamarin.Mac.csproj │ ├── PlotView.cs │ └── Properties │ │ └── AssemblyInfo.cs └── OxyPlot.Xamarin.iOS │ ├── ConverterExtensions.cs │ ├── CoreGraphicsRenderContext.cs │ ├── ExportExtensions.cs │ ├── OxyPlot.Xamarin.iOS.csproj │ ├── PanZoomGestureRecognizer.cs │ ├── PlotView.cs │ └── Properties │ └── AssemblyInfo.cs └── cleanup.sh /.gitattributes: -------------------------------------------------------------------------------- 1 | # Auto detect text files and perform LF normalization 2 | * text=auto 3 | 4 | # Custom for Visual Studio 5 | *.cs diff=csharp 6 | *.sln merge=union 7 | *.csproj merge=union 8 | *.vbproj merge=union 9 | *.fsproj merge=union 10 | *.dbproj merge=union 11 | 12 | # Standard to msysgit 13 | *.doc diff=astextplain 14 | *.DOC diff=astextplain 15 | *.docx diff=astextplain 16 | *.DOCX diff=astextplain 17 | *.dot diff=astextplain 18 | *.DOT diff=astextplain 19 | *.pdf diff=astextplain 20 | *.PDF diff=astextplain 21 | *.rtf diff=astextplain 22 | *.RTF diff=astextplain 23 | -------------------------------------------------------------------------------- /.github/workflows/dotnet.yml: -------------------------------------------------------------------------------- 1 | name: ci/github-actions 2 | 3 | on: 4 | push: 5 | branches: [ '**' ] 6 | pull_request: 7 | branches: [ '**' ] 8 | # Allows you to run this workflow manually from the Actions tab 9 | workflow_dispatch: 10 | 11 | jobs: 12 | build: 13 | runs-on: windows-latest 14 | steps: 15 | - uses: actions/checkout@v3 16 | with: 17 | fetch-depth: 0 18 | - uses: nuget/setup-nuget@v1 19 | - name: Setup .NET 20 | uses: actions/setup-dotnet@v3 21 | with: 22 | dotnet-version: 7.0.x 23 | - name: Add msbuild to PATH 24 | uses: microsoft/setup-msbuild@v1.1 25 | - name: Restore 26 | run: nuget restore Source/OxyPlot.Xamarin.Forms.sln 27 | - name: Build 28 | run: msbuild Source/OxyPlot.Xamarin.Forms.sln -p:RestorePackages=false -p:Configuration=Release 29 | - name: Package 30 | run: nuget pack Source/OxyPlot.Xamarin.Forms.nuspec -Version $(git describe) -outputdirectory Artifacts 31 | - name: Upload packages 32 | uses: actions/upload-artifact@v3 33 | with: 34 | name: nupkg 35 | path: Artifacts/*.nupkg 36 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | bin/ 2 | obj/ 3 | .vs/ 4 | packages/ 5 | Resource.designer.cs 6 | .DS_Store 7 | -------------------------------------------------------------------------------- /AUTHORS: -------------------------------------------------------------------------------- 1 | # This is the official list of OxyPlot authors for copyright purposes. 2 | # This file is distinct from the CONTRIBUTORS file. 3 | # See the latter for an explanation. 4 | 5 | # Names should be added to this file as 6 | # Name or Organization 7 | # The email address is not required for organizations. 8 | 9 | # Please keep the list sorted. 10 | # Please notify the first person on the list to be added here. 11 | 12 | Oystein Bjorke 13 | DNV GL AS 14 | LECO® Corporation 15 | -------------------------------------------------------------------------------- /CONTRIBUTORS: -------------------------------------------------------------------------------- 1 | # This is the official list of people who have contributed 2 | # to the OxyPlot repository. 3 | # The AUTHORS file lists the copyright holders; this file 4 | # lists people. 5 | 6 | # People submitting code should be listed in this file (by email address). 7 | 8 | # Names should be added to this file like so: 9 | # Name 10 | 11 | # Please keep the list sorted. 12 | 13 | Auriou 14 | Bartłomiej Szypelow 15 | benjaminrupp 16 | Benoit Blanchon <> 17 | br 18 | brantheman 19 | Brannon King 20 | Brian Lim 21 | Caleb Clarke 22 | Carlos Anderson 23 | Carlos Teixeira 24 | Choden Konigsmark 25 | classicboss302 26 | Cyril Martin 27 | darrelbrown 28 | David Laundav 29 | David Wong 30 | DJDAS 31 | DNV GL AS 32 | Don Syme 33 | efontana2 34 | elliatab 35 | episage 36 | eric 37 | Federico Coppola 38 | Francois Botha 39 | Garrett 40 | Geert van Horrik 41 | Gimly 42 | Iain Nicol 43 | Ilya Skriblovsky 44 | Iurii Gazin 45 | jaykul 46 | jezza323 47 | Johan 48 | Johan20D 49 | Jonathan Shore 50 | julien.bataille 51 | Just Slon 52 | kc1212 53 | kenny_evoleap 54 | Kenny Nygaard 55 | Kevin Crowell 56 | Kyle Pulvermacher 57 | LECO® Corporation 58 | Levi Botelho 59 | lsowen 60 | Luka B 61 | Matthew Leibowitz 62 | Memphisch 63 | Mendel Monteiro-Beckerman 64 | methdotnet 65 | mirolev 66 | Mitch-Connor 67 | moes_leco 68 | moljac 69 | mroth 70 | Oleg Tarasov 71 | Oystein Bjorke 72 | Patrice Marin 73 | Philippe AURIOU 74 | Piotr Warzocha 75 | Senen Fernandez 76 | Shun-ichi Goto 77 | Stefan Rado 78 | stefan-schweiger 79 | Steve Hoelzer 80 | Sven Dummis 81 | Taldoras 82 | Thorsten Claff 83 | thepretender 84 | tephyrnex 85 | Thomas Ibel 86 | Tomasz Cielecki 87 | ToplandJ 88 | vhoehn 89 | Vsevolod Kukol 90 | Xavier 91 | -------------------------------------------------------------------------------- /GitVersionConfig.yaml: -------------------------------------------------------------------------------- 1 | next-version: 1.0.0 2 | branches: {} 3 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | The MIT License (MIT) 2 | 3 | Copyright (c) 2014 OxyPlot contributors 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a 6 | copy of this software and associated documentation files (the 7 | "Software"), to deal in the Software without restriction, including 8 | without limitation the rights to use, copy, modify, merge, publish, 9 | distribute, sublicense, and/or sell copies of the Software, and to 10 | permit persons to whom the Software is furnished to do so, subject to 11 | the following conditions: 12 | 13 | The above copyright notice and this permission notice shall be included 14 | in all copies or substantial portions of the Software. 15 | 16 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS 17 | OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 18 | MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. 19 | IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY 20 | CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, 21 | TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE 22 | SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -------------------------------------------------------------------------------- /OxyPlot_128.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oxyplot/oxyplot-xamarin/d8ab9374d10684c37c5d1716442c9ba8e8a578c6/OxyPlot_128.png -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | OxyPlot is a cross-platform plotting library for .NET 2 | 3 | This repository contains the implementation for Xamarin (supporting Android, iOS, Mac and UWP). 4 | 5 | ![License](https://img.shields.io/github/license/oxyplot/oxyplot-xamarin) 6 | [![GHA status](https://github.com/oxyplot/oxyplot-xamarin/actions/workflows/dotnet.yml/badge.svg)](https://github.com/oxyplot/oxyplot-xamarin/actions/workflows/dotnet.yml?branch=develop) 7 | 8 | #### NuGet packages 9 | 10 | Package | Version | Downloads | Targets 11 | --------|---------|-----------|-------- 12 | OxyPlot.Xamarin.Forms | [![NuGet](https://img.shields.io/nuget/vpre/OxyPlot.Xamarin.Forms.svg?style=flat)](https://www.nuget.org/packages/OxyPlot.Xamarin.Forms) | [![Downloads](https://img.shields.io/nuget/dt/OxyPlot.Xamarin.Forms.svg)](https://www.nuget.org/packages/OxyPlot.Xamarin.Forms) | Xamarin.Forms (Android, iOS, Mac, UWP) 13 | OxyPlot.Xamarin.Android | [![NuGet](https://img.shields.io/nuget/vpre/OxyPlot.Xamarin.Android.svg?style=flat)](https://www.nuget.org/packages/OxyPlot.Xamarin.Android) | [![Downloads](https://img.shields.io/nuget/dt/OxyPlot.Xamarin.Android.svg)](https://www.nuget.org/packages/OxyPlot.Xamarin.Android) | Xamarin.Android (deprecated) 14 | OxyPlot.Xamarin.iOS | [![NuGet](https://img.shields.io/nuget/vpre/OxyPlot.Xamarin.iOS.svg?style=flat)](https://www.nuget.org/packages/OxyPlot.Xamarin.iOS) | [![Downloads](https://img.shields.io/nuget/dt/OxyPlot.Xamarin.iOS.svg)](https://www.nuget.org/packages/OxyPlot.Xamarin.iOS) | Xamarin.iOS (deprecated) 15 | OxyPlot.Xamarin.Mac | [![NuGet](https://img.shields.io/nuget/vpre/OxyPlot.Xamarin.Mac.svg?style=flat)](https://www.nuget.org/packages/OxyPlot.Xamarin.Mac) | [![Downloads](https://img.shields.io/nuget/dt/OxyPlot.Xamarin.Mac.svg)](https://www.nuget.org/packages/OxyPlot.Xamarin.Mac) | Xamarin.Mac (deprecated) 16 | -------------------------------------------------------------------------------- /Source/Examples/ExampleBrowser.Android/CategoryListActivity.cs: -------------------------------------------------------------------------------- 1 | // -------------------------------------------------------------------------------------------------------------------- 2 | // 3 | // Copyright (c) 2014 OxyPlot contributors 4 | // 5 | // -------------------------------------------------------------------------------------------------------------------- 6 | 7 | namespace ExampleBrowser 8 | { 9 | using System.Linq; 10 | 11 | using Android.App; 12 | using Android.Content; 13 | using Android.OS; 14 | using Android.Widget; 15 | 16 | [Activity(Label = "OxyPlot Example Browser", MainLauncher = true, Icon = "@drawable/icon")] 17 | public class CategoryListActivity : ListActivity 18 | { 19 | protected override void OnCreate(Bundle bundle) 20 | { 21 | base.OnCreate(bundle); 22 | this.Title = "OxyPlot Example Browser"; 23 | 24 | var examples = ExampleLibrary.Examples.GetList(); 25 | var categories = examples.Select(e => e.Category).Distinct().OrderBy(s => s).ToList(); 26 | this.ListAdapter = new ArrayAdapter(this, Resource.Layout.ListItem, categories); 27 | this.ListView.TextFilterEnabled = true; 28 | this.ListView.ItemClick += delegate (object sender, AdapterView.ItemClickEventArgs args) 29 | { 30 | var category = categories[args.Position]; 31 | var second = new Intent(this, typeof(ExampleListActivity)); 32 | second.PutExtra("category", category); 33 | this.StartActivity(second); 34 | }; 35 | } 36 | } 37 | } -------------------------------------------------------------------------------- /Source/Examples/ExampleBrowser.Android/ExampleListActivity.cs: -------------------------------------------------------------------------------- 1 | // -------------------------------------------------------------------------------------------------------------------- 2 | // 3 | // Copyright (c) 2014 OxyPlot contributors 4 | // 5 | // -------------------------------------------------------------------------------------------------------------------- 6 | 7 | namespace ExampleBrowser 8 | { 9 | using System.Linq; 10 | 11 | using Android.App; 12 | using Android.Content; 13 | using Android.OS; 14 | using Android.Widget; 15 | 16 | [Activity(Label = "Example list", Icon = "@drawable/icon")] 17 | public class ExampleListActivity : ListActivity 18 | { 19 | protected override void OnCreate(Bundle bundle) 20 | { 21 | base.OnCreate(bundle); 22 | var category = this.Intent.GetStringExtra("category"); 23 | this.Title = category; 24 | 25 | var examples = ExampleLibrary.Examples.GetList(); 26 | var plots = examples.Where(e => e.Category == category).Select(e => e.Title).OrderBy(s => s).ToList(); 27 | this.ListAdapter = new ArrayAdapter(this, Resource.Layout.ListItem, plots); 28 | this.ListView.TextFilterEnabled = true; 29 | this.ListView.ItemClick += delegate (object sender, AdapterView.ItemClickEventArgs args) 30 | { 31 | // When clicked, show a toast with the TextView text 32 | Toast.MakeText(this.Application, ((TextView)args.View).Text, ToastLength.Short).Show(); 33 | var second = new Intent(this, typeof(PlotActivity)); 34 | 35 | second.PutExtra("category", category); 36 | second.PutExtra("plot", plots[args.Position]); 37 | this.StartActivity(second); 38 | }; 39 | } 40 | } 41 | } -------------------------------------------------------------------------------- /Source/Examples/ExampleBrowser.Android/PlotActivity.cs: -------------------------------------------------------------------------------- 1 | // -------------------------------------------------------------------------------------------------------------------- 2 | // 3 | // Copyright (c) 2014 OxyPlot contributors 4 | // 5 | // -------------------------------------------------------------------------------------------------------------------- 6 | 7 | namespace ExampleBrowser 8 | { 9 | using System.Linq; 10 | 11 | using Android.App; 12 | using Android.OS; 13 | using Android.Views; 14 | 15 | using OxyPlot.Xamarin.Android; 16 | 17 | [Activity(Label = "Plot")] 18 | public class PlotActivity : Activity 19 | { 20 | protected override void OnCreate(Bundle bundle) 21 | { 22 | base.OnCreate(bundle); 23 | 24 | this.RequestWindowFeature(WindowFeatures.NoTitle); 25 | 26 | var category = this.Intent.GetStringExtra("category"); 27 | var plot = this.Intent.GetStringExtra("plot"); 28 | 29 | 30 | this.SetContentView(Resource.Layout.PlotActivity); 31 | var plotView = this.FindViewById(Resource.Id.plotview); 32 | 33 | var exampleInfo = ExampleLibrary.Examples.GetList().FirstOrDefault(ei => ei.Category == category && ei.Title == plot); 34 | 35 | if (exampleInfo != null) 36 | { 37 | var model = exampleInfo.PlotModel; 38 | this.Title = exampleInfo.Title; 39 | plotView.Model = model; 40 | } 41 | } 42 | } 43 | } -------------------------------------------------------------------------------- /Source/Examples/ExampleBrowser.Android/Properties/AndroidManifest.xml: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /Source/Examples/ExampleBrowser.Android/Properties/AssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | // -------------------------------------------------------------------------------------------------------------------- 2 | // 3 | // Copyright (c) 2014 OxyPlot contributors 4 | // 5 | // -------------------------------------------------------------------------------------------------------------------- 6 | 7 | using System.Reflection; 8 | using Android.App; 9 | 10 | [assembly: AssemblyTitle("OxyPlot ExampleBrowser")] 11 | [assembly: AssemblyDescription("Example browser for Android")] 12 | 13 | [assembly: AssemblyConfiguration("")] 14 | [assembly: AssemblyCompany("OxyPlot")] 15 | [assembly: AssemblyProduct("OxyPlot")] 16 | [assembly: AssemblyCopyright("Copyright (c) 2014 OxyPlot contributors")] 17 | [assembly: AssemblyTrademark("")] 18 | [assembly: AssemblyCulture("")] 19 | 20 | // The version numbers are updated by the build script. See ~/appveyor.yml 21 | [assembly: AssemblyVersion("0.0.1")] 22 | [assembly: AssemblyInformationalVersion("0.0.1-alpha")] 23 | [assembly: AssemblyFileVersion("0.0.1")] 24 | 25 | [assembly: UsesPermission(Android.Manifest.Permission.Internet)] 26 | [assembly: UsesPermission(Android.Manifest.Permission.WriteExternalStorage)] -------------------------------------------------------------------------------- /Source/Examples/ExampleBrowser.Android/Resources/Drawable/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oxyplot/oxyplot-xamarin/d8ab9374d10684c37c5d1716442c9ba8e8a578c6/Source/Examples/ExampleBrowser.Android/Resources/Drawable/icon.png -------------------------------------------------------------------------------- /Source/Examples/ExampleBrowser.Android/Resources/Layout/ListItem.axml: -------------------------------------------------------------------------------- 1 | 2 | 3 | -------------------------------------------------------------------------------- /Source/Examples/ExampleBrowser.Android/Resources/Layout/PlotActivity.axml: -------------------------------------------------------------------------------- 1 | 2 | 6 | 10 | -------------------------------------------------------------------------------- /Source/Examples/ExampleBrowser.Android/Resources/Values/Strings.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | Hello World, Click Me! 4 | ExampleBrowser 5 | 6 | -------------------------------------------------------------------------------- /Source/Examples/ExampleBrowser.Mac/AppDelegate.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | using Foundation; 4 | using AppKit; 5 | using System.Collections.Generic; 6 | using System.Linq; 7 | 8 | namespace ExampleBrowser 9 | { 10 | using ExampleLibrary; 11 | 12 | public partial class AppDelegate : NSApplicationDelegate 13 | { 14 | PlotWindowController plotWindowController; 15 | ExampleInfo currentExample; 16 | 17 | public AppDelegate () 18 | { 19 | } 20 | 21 | List exampleList; 22 | 23 | public override void DidFinishLaunching (NSNotification notification) 24 | { 25 | plotWindowController = new PlotWindowController (); 26 | 27 | var menu = new NSMenu (); 28 | 29 | var appMenu = new NSMenu (); 30 | appMenu.AddItem (new NSMenuItem ("Next example", "n", (s, e) => this.NextExample (1))); 31 | appMenu.AddItem (new NSMenuItem ("Previous example", "p", (s, e) => this.NextExample (-1))); 32 | appMenu.AddItem (NSMenuItem.SeparatorItem); 33 | appMenu.AddItem (new NSMenuItem ("Quit", "q", (s, e) => NSApplication.SharedApplication.Terminate (menu))); 34 | menu.AddItem (new NSMenuItem { Submenu = appMenu }); 35 | 36 | var fileMenu = new NSMenu ("File"); 37 | fileMenu.AddItem (new NSMenuItem ("Export", "e")); 38 | menu.AddItem (new NSMenuItem { Submenu = fileMenu }); 39 | 40 | var editMenu = new NSMenu ("Edit"); 41 | editMenu.AddItem (new NSMenuItem ("Copy", "c")); 42 | menu.AddItem (new NSMenuItem { Submenu = editMenu }); 43 | 44 | var examplesMenu = new NSMenu ("Examples"); 45 | exampleList = Examples.GetList().ToList(); 46 | 47 | var categories = exampleList.Select (e => e.Category).Distinct ().OrderBy (c => c).ToArray (); 48 | var categoryMenus = new Dictionary (); 49 | foreach (var category in categories) { 50 | var categoryMenu = new NSMenu (category); 51 | examplesMenu.AddItem (new NSMenuItem (category) { Submenu = categoryMenu }); 52 | categoryMenus.Add (category, categoryMenu); 53 | } 54 | 55 | foreach (var example in exampleList) { 56 | var item = new NSMenuItem (example.Title, (s, e) => this.SetExample (example)); 57 | var categoryMenu = categoryMenus [example.Category]; 58 | categoryMenu.AddItem (item); 59 | } 60 | menu.AddItem (new NSMenuItem { Submenu = examplesMenu }); 61 | this.SetExample (exampleList.First ()); 62 | 63 | plotWindowController.Window.MakeKeyAndOrderFront (this); 64 | NSApplication.SharedApplication.MainMenu = menu; 65 | } 66 | 67 | public void SetExample (ExampleInfo example) 68 | { 69 | this.plotWindowController.SetExample (example); 70 | this.currentExample = example; 71 | } 72 | 73 | public void NextExample (int delta) 74 | { 75 | var index = this.exampleList.IndexOf (this.currentExample); 76 | index += delta; 77 | if (index < 0) 78 | index = this.exampleList.Count - 1; 79 | if (index >= this.exampleList.Count) 80 | index = 0; 81 | this.SetExample (this.exampleList [index]); 82 | } 83 | 84 | public void Export () 85 | { 86 | } 87 | } 88 | } 89 | -------------------------------------------------------------------------------- /Source/Examples/ExampleBrowser.Mac/AppDelegate.designer.cs: -------------------------------------------------------------------------------- 1 | namespace ExampleBrowser 2 | { 3 | [global::Foundation.Register ("AppDelegate")] 4 | public partial class AppDelegate 5 | { 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /Source/Examples/ExampleBrowser.Mac/Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDisplayName 6 | ExampleBrowser 7 | CFBundleDevelopmentRegion 8 | en 9 | CFBundleIconFile 10 | 11 | CFBundleIdentifier 12 | com..ExampleBrowser 13 | CFBundleInfoDictionaryVersion 14 | 6.0 15 | CFBundleName 16 | ExampleBrowser 17 | CFBundlePackageType 18 | APPL 19 | CFBundleShortVersionString 20 | 1.0 21 | CFBundleSignature 22 | ???? 23 | CFBundleVersion 24 | 1 25 | LSMinimumSystemVersion 26 | 11.0 27 | NSHumanReadableCopyright 28 | 29 | NSMainNibFile 30 | MainMenu 31 | NSPrincipalClass 32 | NSApplication 33 | 34 | 35 | -------------------------------------------------------------------------------- /Source/Examples/ExampleBrowser.Mac/Main.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | using AppKit; 4 | 5 | namespace ExampleBrowser 6 | { 7 | static class MainClass 8 | { 9 | static void Main (string[] args) 10 | { 11 | NSApplication.Init (); 12 | 13 | var application = NSApplication.SharedApplication; 14 | application.Delegate = new AppDelegate (); 15 | application.Run (); 16 | } 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /Source/Examples/ExampleBrowser.Mac/PlotWindow.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | using Foundation; 4 | using AppKit; 5 | 6 | namespace ExampleBrowser 7 | { 8 | public partial class PlotWindow : NSWindow 9 | { 10 | public PlotWindow (IntPtr handle) : base (handle) 11 | { 12 | } 13 | 14 | [Export ("initWithCoder:")] 15 | public PlotWindow (NSCoder coder) : base (coder) 16 | { 17 | } 18 | 19 | public override void AwakeFromNib () 20 | { 21 | base.AwakeFromNib (); 22 | } 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /Source/Examples/ExampleBrowser.Mac/PlotWindow.designer.cs: -------------------------------------------------------------------------------- 1 | namespace ExampleBrowser 2 | { 3 | [global::Foundation.Register ("PlotWindow")] 4 | public partial class PlotWindow 5 | { 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /Source/Examples/ExampleBrowser.Mac/PlotWindowController.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | using Foundation; 4 | using AppKit; 5 | 6 | namespace ExampleBrowser 7 | { 8 | using ExampleLibrary; 9 | using OxyPlot; 10 | using OxyPlot.Xamarin.Mac; 11 | 12 | public partial class PlotWindowController : NSWindowController 13 | { 14 | private PlotView plotView; 15 | 16 | public PlotWindowController (IntPtr handle) : base (handle) 17 | { 18 | } 19 | 20 | [Export ("initWithCoder:")] 21 | public PlotWindowController (NSCoder coder) : base (coder) 22 | { 23 | } 24 | 25 | public PlotWindowController () : base ("PlotWindow") 26 | { 27 | } 28 | 29 | public override void AwakeFromNib () 30 | { 31 | base.AwakeFromNib (); 32 | } 33 | 34 | public new PlotWindow Window { 35 | get { return (PlotWindow)base.Window; } 36 | } 37 | 38 | public override void WindowDidLoad () 39 | { 40 | base.WindowDidLoad (); 41 | plotView = new PlotView (this.Window.Frame); 42 | Window.ContentView = plotView; 43 | } 44 | 45 | public void SetExample(ExampleInfo example){ 46 | this.Window.Title = example.Title; 47 | plotView.Model = example.PlotModel; 48 | plotView.Controller = example.PlotController; 49 | plotView.InvalidatePlot (true); 50 | } 51 | } 52 | } 53 | -------------------------------------------------------------------------------- /Source/Examples/ExampleBrowser.Mac/PlotWindowController.designer.cs: -------------------------------------------------------------------------------- 1 | namespace ExampleBrowser 2 | { 3 | [global::Foundation.Register ("PlotWindowController")] 4 | public partial class PlotWindowController 5 | { 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /Source/Examples/ExampleBrowser.Mac/packages.config: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /Source/Examples/ExampleBrowser.iOS/AppDelegate.cs: -------------------------------------------------------------------------------- 1 | // -------------------------------------------------------------------------------------------------------------------- 2 | // 3 | // Copyright (c) 2014 OxyPlot contributors 4 | // 5 | // -------------------------------------------------------------------------------------------------------------------- 6 | 7 | namespace ExampleBrowser 8 | { 9 | using System.Collections.Generic; 10 | using System.Linq; 11 | 12 | using Foundation; 13 | using UIKit; 14 | 15 | using MonoTouch.Dialog; 16 | 17 | using ExampleLibrary; 18 | 19 | // The UIApplicationDelegate for the application. This class is responsible for launching the 20 | // User Interface of the application, as well as listening (and optionally responding) to 21 | // application events from iOS. 22 | [Register ("AppDelegate")] 23 | public partial class AppDelegate : UIApplicationDelegate 24 | { 25 | // class-level declarations 26 | UIWindow window; 27 | 28 | UINavigationController navigation; 29 | 30 | List exampleInfoList; 31 | 32 | // 33 | // This method is invoked when the application has loaded and is ready to run. In this 34 | // method you should instantiate the window, load the UI into it and then make the window 35 | // visible. 36 | // 37 | // You have 17 seconds to return from this method, or iOS will terminate your application. 38 | // 39 | public override bool FinishedLaunching (UIApplication app, NSDictionary options) 40 | { 41 | exampleInfoList = ExampleLibrary.Examples.GetList().ToList(); 42 | 43 | // create a new window instance based on the screen size 44 | window = new UIWindow (UIScreen.MainScreen.Bounds); 45 | 46 | navigation = new UINavigationController(); 47 | 48 | var root = new RootElement ("OxyPlot Example Browser"); 49 | var section = new Section (); 50 | section.AddAll (exampleInfoList 51 | .GroupBy (e => e.Category) 52 | .OrderBy (g => g.Key) 53 | .Select (g => 54 | (Element)new StyledStringElement (g.Key, delegate { 55 | DisplayCategory (g.Key); 56 | }) { Accessory = UITableViewCellAccessory.DisclosureIndicator })); 57 | root.Add (section); 58 | 59 | var dvc = new DialogViewController (root, true); 60 | 61 | navigation.PushViewController(dvc, true); 62 | 63 | window.RootViewController = navigation; 64 | 65 | // make the window visible 66 | window.MakeKeyAndVisible (); 67 | 68 | return true; 69 | } 70 | 71 | private void DisplayCategory(string category) 72 | { 73 | var root = new RootElement (category); 74 | var section = new Section (); 75 | section.AddAll (exampleInfoList 76 | .Where (e => e.Category == category) 77 | .OrderBy (e => e.Title) 78 | .Select (e => (Element)new StyledStringElement (e.Title, delegate { 79 | GraphView (e); 80 | }) { Accessory = UITableViewCellAccessory.DisclosureIndicator } 81 | )); 82 | root.Add (section); 83 | 84 | var dvc = new DialogViewController (root, true); 85 | 86 | navigation.PushViewController (dvc, true); 87 | } 88 | 89 | private void GraphView(ExampleInfo exampleInfo) 90 | { 91 | var dvc = new GraphViewController (exampleInfo); 92 | navigation.PushViewController (dvc, true); 93 | } 94 | } 95 | } -------------------------------------------------------------------------------- /Source/Examples/ExampleBrowser.iOS/Entitlements.plist: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /Source/Examples/ExampleBrowser.iOS/Images/ExampleBrowser_1024x748.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oxyplot/oxyplot-xamarin/d8ab9374d10684c37c5d1716442c9ba8e8a578c6/Source/Examples/ExampleBrowser.iOS/Images/ExampleBrowser_1024x748.png -------------------------------------------------------------------------------- /Source/Examples/ExampleBrowser.iOS/Images/ExampleBrowser_1536x2008.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oxyplot/oxyplot-xamarin/d8ab9374d10684c37c5d1716442c9ba8e8a578c6/Source/Examples/ExampleBrowser.iOS/Images/ExampleBrowser_1536x2008.png -------------------------------------------------------------------------------- /Source/Examples/ExampleBrowser.iOS/Images/ExampleBrowser_2048x1496.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oxyplot/oxyplot-xamarin/d8ab9374d10684c37c5d1716442c9ba8e8a578c6/Source/Examples/ExampleBrowser.iOS/Images/ExampleBrowser_2048x1496.png -------------------------------------------------------------------------------- /Source/Examples/ExampleBrowser.iOS/Images/ExampleBrowser_320x480.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oxyplot/oxyplot-xamarin/d8ab9374d10684c37c5d1716442c9ba8e8a578c6/Source/Examples/ExampleBrowser.iOS/Images/ExampleBrowser_320x480.png -------------------------------------------------------------------------------- /Source/Examples/ExampleBrowser.iOS/Images/ExampleBrowser_640x1136.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oxyplot/oxyplot-xamarin/d8ab9374d10684c37c5d1716442c9ba8e8a578c6/Source/Examples/ExampleBrowser.iOS/Images/ExampleBrowser_640x1136.png -------------------------------------------------------------------------------- /Source/Examples/ExampleBrowser.iOS/Images/ExampleBrowser_640x960.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oxyplot/oxyplot-xamarin/d8ab9374d10684c37c5d1716442c9ba8e8a578c6/Source/Examples/ExampleBrowser.iOS/Images/ExampleBrowser_640x960.png -------------------------------------------------------------------------------- /Source/Examples/ExampleBrowser.iOS/Images/ExampleBrowser_768x1004.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oxyplot/oxyplot-xamarin/d8ab9374d10684c37c5d1716442c9ba8e8a578c6/Source/Examples/ExampleBrowser.iOS/Images/ExampleBrowser_768x1004.png -------------------------------------------------------------------------------- /Source/Examples/ExampleBrowser.iOS/Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDisplayName 6 | Example Browser 7 | CFBundleIconFiles 8 | 9 | Images/OxyPlot_57 10 | Images/OxyPlot_114 11 | Images/OxyPlot_72 12 | Images/OxyPlot_29 13 | Images/OxyPlot_58 14 | Images/OxyPlot_50 15 | Images/OxyPlot_120 16 | Images/OxyPlot_144 17 | Images/OxyPlot_76 18 | Images/OxyPlot_152 19 | Images/OxyPlot_100 20 | Images/OxyPlot_40 21 | Images/OxyPlot_80 22 | 23 | CFBundleVersion 24 | 1.3.0 25 | MinimumOSVersion 26 | 8.0 27 | UIDeviceFamily 28 | 29 | 1 30 | 2 31 | 32 | UISupportedInterfaceOrientations 33 | 34 | UIInterfaceOrientationPortrait 35 | UIInterfaceOrientationPortraitUpsideDown 36 | UIInterfaceOrientationLandscapeLeft 37 | UIInterfaceOrientationLandscapeRight 38 | 39 | CFBundleIdentifier 40 | com.oxyplot.examplebrowser 41 | CFBundleShortVersionString 42 | 43 | CFBundleName 44 | Example Browser 45 | 46 | 47 | -------------------------------------------------------------------------------- /Source/Examples/ExampleBrowser.iOS/Main.cs: -------------------------------------------------------------------------------- 1 | // -------------------------------------------------------------------------------------------------------------------- 2 | // 3 | // Copyright (c) 2014 OxyPlot contributors 4 | // 5 | // -------------------------------------------------------------------------------------------------------------------- 6 | 7 | namespace ExampleBrowser 8 | { 9 | using UIKit; 10 | 11 | public class Application 12 | { 13 | // This is the main entry point of the application. 14 | static void Main(string[] args) 15 | { 16 | // if you want to use a different Application Delegate class from "AppDelegate" 17 | // you can specify it here. 18 | UIApplication.Main(args, null, typeof(AppDelegate)); 19 | } 20 | } 21 | } -------------------------------------------------------------------------------- /Source/Examples/ExampleBrowser.iOS/Resources/Default-568h@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oxyplot/oxyplot-xamarin/d8ab9374d10684c37c5d1716442c9ba8e8a578c6/Source/Examples/ExampleBrowser.iOS/Resources/Default-568h@2x.png -------------------------------------------------------------------------------- /Source/Examples/ExampleBrowser.iOS/Resources/Default-Landscape.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oxyplot/oxyplot-xamarin/d8ab9374d10684c37c5d1716442c9ba8e8a578c6/Source/Examples/ExampleBrowser.iOS/Resources/Default-Landscape.png -------------------------------------------------------------------------------- /Source/Examples/ExampleBrowser.iOS/Resources/Default-Landscape@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oxyplot/oxyplot-xamarin/d8ab9374d10684c37c5d1716442c9ba8e8a578c6/Source/Examples/ExampleBrowser.iOS/Resources/Default-Landscape@2x.png -------------------------------------------------------------------------------- /Source/Examples/ExampleBrowser.iOS/Resources/Default-Portrait.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oxyplot/oxyplot-xamarin/d8ab9374d10684c37c5d1716442c9ba8e8a578c6/Source/Examples/ExampleBrowser.iOS/Resources/Default-Portrait.png -------------------------------------------------------------------------------- /Source/Examples/ExampleBrowser.iOS/Resources/Default-Portrait@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oxyplot/oxyplot-xamarin/d8ab9374d10684c37c5d1716442c9ba8e8a578c6/Source/Examples/ExampleBrowser.iOS/Resources/Default-Portrait@2x.png -------------------------------------------------------------------------------- /Source/Examples/ExampleBrowser.iOS/Resources/Default.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oxyplot/oxyplot-xamarin/d8ab9374d10684c37c5d1716442c9ba8e8a578c6/Source/Examples/ExampleBrowser.iOS/Resources/Default.png -------------------------------------------------------------------------------- /Source/Examples/ExampleBrowser.iOS/Resources/Default@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oxyplot/oxyplot-xamarin/d8ab9374d10684c37c5d1716442c9ba8e8a578c6/Source/Examples/ExampleBrowser.iOS/Resources/Default@2x.png -------------------------------------------------------------------------------- /Source/Examples/Windows/SimpleDemo/App.xaml: -------------------------------------------------------------------------------- 1 |  7 | 8 | 9 | -------------------------------------------------------------------------------- /Source/Examples/Windows/SimpleDemo/Assets/LockScreenLogo.scale-200.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oxyplot/oxyplot-xamarin/d8ab9374d10684c37c5d1716442c9ba8e8a578c6/Source/Examples/Windows/SimpleDemo/Assets/LockScreenLogo.scale-200.png -------------------------------------------------------------------------------- /Source/Examples/Windows/SimpleDemo/Assets/SplashScreen.scale-200.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oxyplot/oxyplot-xamarin/d8ab9374d10684c37c5d1716442c9ba8e8a578c6/Source/Examples/Windows/SimpleDemo/Assets/SplashScreen.scale-200.png -------------------------------------------------------------------------------- /Source/Examples/Windows/SimpleDemo/Assets/Square150x150Logo.scale-200.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oxyplot/oxyplot-xamarin/d8ab9374d10684c37c5d1716442c9ba8e8a578c6/Source/Examples/Windows/SimpleDemo/Assets/Square150x150Logo.scale-200.png -------------------------------------------------------------------------------- /Source/Examples/Windows/SimpleDemo/Assets/Square44x44Logo.scale-200.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oxyplot/oxyplot-xamarin/d8ab9374d10684c37c5d1716442c9ba8e8a578c6/Source/Examples/Windows/SimpleDemo/Assets/Square44x44Logo.scale-200.png -------------------------------------------------------------------------------- /Source/Examples/Windows/SimpleDemo/Assets/Square44x44Logo.targetsize-24_altform-unplated.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oxyplot/oxyplot-xamarin/d8ab9374d10684c37c5d1716442c9ba8e8a578c6/Source/Examples/Windows/SimpleDemo/Assets/Square44x44Logo.targetsize-24_altform-unplated.png -------------------------------------------------------------------------------- /Source/Examples/Windows/SimpleDemo/Assets/StoreLogo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oxyplot/oxyplot-xamarin/d8ab9374d10684c37c5d1716442c9ba8e8a578c6/Source/Examples/Windows/SimpleDemo/Assets/StoreLogo.png -------------------------------------------------------------------------------- /Source/Examples/Windows/SimpleDemo/Assets/Wide310x150Logo.scale-200.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oxyplot/oxyplot-xamarin/d8ab9374d10684c37c5d1716442c9ba8e8a578c6/Source/Examples/Windows/SimpleDemo/Assets/Wide310x150Logo.scale-200.png -------------------------------------------------------------------------------- /Source/Examples/Windows/SimpleDemo/MainPage.xaml: -------------------------------------------------------------------------------- 1 |  10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | -------------------------------------------------------------------------------- /Source/Examples/Windows/SimpleDemo/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 https://go.microsoft.com/fwlink/?LinkId=402352&clcid=0x409 17 | 18 | namespace SimpleDemo 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 | -------------------------------------------------------------------------------- /Source/Examples/Windows/SimpleDemo/MainViewModel.cs: -------------------------------------------------------------------------------- 1 | namespace SimpleDemo 2 | { 3 | using OxyPlot; 4 | using OxyPlot.Axes; 5 | using OxyPlot.Series; 6 | 7 | public class MainViewModel 8 | { 9 | public MainViewModel() 10 | { 11 | var model = new PlotModel { Title = "Hello Universal Windows" }; 12 | model.Axes.Add(new LinearAxis { Position = AxisPosition.Bottom }); 13 | model.Axes.Add(new LinearAxis { Position = AxisPosition.Left }); 14 | var lineSeries = new LineSeries { Title = "LineSeries", MarkerType = MarkerType.Circle }; 15 | lineSeries.Points.Add(new DataPoint(0, 0)); 16 | lineSeries.Points.Add(new DataPoint(10, 18)); 17 | lineSeries.Points.Add(new DataPoint(20, 12)); 18 | lineSeries.Points.Add(new DataPoint(30, 8)); 19 | lineSeries.Points.Add(new DataPoint(40, 15)); 20 | 21 | model.Series.Add(lineSeries); 22 | this.Model = model; 23 | } 24 | 25 | public PlotModel Model { get; private set; } 26 | } 27 | } -------------------------------------------------------------------------------- /Source/Examples/Windows/SimpleDemo/Package.appxmanifest: -------------------------------------------------------------------------------- 1 |  2 | 3 | 8 | 9 | 13 | 14 | 15 | 16 | 17 | SimpleDemo 18 | objo 19 | Assets\StoreLogo.png 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 34 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | -------------------------------------------------------------------------------- /Source/Examples/Windows/SimpleDemo/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("SimpleDemo")] 9 | [assembly: AssemblyDescription("")] 10 | [assembly: AssemblyConfiguration("")] 11 | [assembly: AssemblyCompany("")] 12 | [assembly: AssemblyProduct("SimpleDemo")] 13 | [assembly: AssemblyCopyright("Copyright © 2017")] 14 | [assembly: AssemblyTrademark("")] 15 | [assembly: AssemblyCulture("")] 16 | 17 | // Version information for an assembly consists of the following four values: 18 | // 19 | // Major Version 20 | // Minor Version 21 | // Build Number 22 | // Revision 23 | // 24 | // You can specify all the values or you can default the Build and Revision Numbers 25 | // by using the '*' as shown below: 26 | // [assembly: AssemblyVersion("1.0.*")] 27 | [assembly: AssemblyVersion("1.0.0.0")] 28 | [assembly: AssemblyFileVersion("1.0.0.0")] 29 | [assembly: ComVisible(false)] -------------------------------------------------------------------------------- /Source/Examples/Windows/SimpleDemo/Properties/Default.rd.xml: -------------------------------------------------------------------------------- 1 | 17 | 18 | 19 | 20 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | -------------------------------------------------------------------------------- /Source/Examples/Xamarin.Forms/IssueDemos/IssueDemos.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"); 20 | -------------------------------------------------------------------------------- /Source/Examples/Xamarin.Forms/IssueDemos/IssueDemos.Droid/MainActivity.cs: -------------------------------------------------------------------------------- 1 | namespace IssueDemos.Droid 2 | { 3 | using Android.App; 4 | using Android.Content.PM; 5 | using Android.OS; 6 | 7 | [Activity(Label = "IssueDemos", Icon = "@drawable/icon", MainLauncher = true, ConfigurationChanges = ConfigChanges.ScreenSize | ConfigChanges.Orientation)] 8 | public class MainActivity : global::Xamarin.Forms.Platform.Android.FormsApplicationActivity 9 | { 10 | protected override void OnCreate(Bundle bundle) 11 | { 12 | base.OnCreate(bundle); 13 | 14 | global::Xamarin.Forms.Forms.Init(this, bundle); 15 | OxyPlot.Xamarin.Forms.Platform.Android.PlotViewRenderer.Init(); 16 | this.LoadApplication(new App()); 17 | } 18 | } 19 | } 20 | 21 | -------------------------------------------------------------------------------- /Source/Examples/Xamarin.Forms/IssueDemos/IssueDemos.Droid/Properties/AndroidManifest.xml: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /Source/Examples/Xamarin.Forms/IssueDemos/IssueDemos.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("IssueDemos.Droid")] 10 | [assembly: AssemblyDescription("")] 11 | [assembly: AssemblyConfiguration("")] 12 | [assembly: AssemblyCompany("")] 13 | [assembly: AssemblyProduct("IssueDemos.Droid")] 14 | [assembly: AssemblyCopyright("Copyright © 2014")] 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 | 32 | // Add some common permissions, these can be removed if not needed 33 | [assembly: UsesPermission(Android.Manifest.Permission.Internet)] 34 | [assembly: UsesPermission(Android.Manifest.Permission.WriteExternalStorage)] 35 | -------------------------------------------------------------------------------- /Source/Examples/Xamarin.Forms/IssueDemos/IssueDemos.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.xml), 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-hdpi/ 12 | icon.png 13 | 14 | drawable-ldpi/ 15 | icon.png 16 | 17 | drawable-mdpi/ 18 | icon.png 19 | 20 | layout/ 21 | main.xml 22 | 23 | values/ 24 | strings.xml 25 | 26 | In order to get the build system to recognize Android resources, set the build action to 27 | "AndroidResource". The native Android APIs do not operate directly with filenames, but 28 | instead operate on resource IDs. When you compile an Android application that uses resources, 29 | the build system will package the resources for distribution and generate a class called 30 | "Resource" that contains the tokens for each one of the resources included. For example, 31 | for the above Resources layout, this is what the Resource class would expose: 32 | 33 | public class Resource { 34 | public class drawable { 35 | public const int icon = 0x123; 36 | } 37 | 38 | public class layout { 39 | public const int main = 0x456; 40 | } 41 | 42 | public class strings { 43 | public const int first_string = 0xabc; 44 | public const int second_string = 0xbcd; 45 | } 46 | } 47 | 48 | You would then use R.drawable.icon to reference the drawable/icon.png file, or Resource.layout.main 49 | to reference the layout/main.xml file, or Resource.strings.first_string to reference the first 50 | string in the dictionary file values/strings.xml. 51 | -------------------------------------------------------------------------------- /Source/Examples/Xamarin.Forms/IssueDemos/IssueDemos.Droid/Resources/drawable-hdpi/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oxyplot/oxyplot-xamarin/d8ab9374d10684c37c5d1716442c9ba8e8a578c6/Source/Examples/Xamarin.Forms/IssueDemos/IssueDemos.Droid/Resources/drawable-hdpi/icon.png -------------------------------------------------------------------------------- /Source/Examples/Xamarin.Forms/IssueDemos/IssueDemos.Droid/Resources/drawable-xhdpi/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oxyplot/oxyplot-xamarin/d8ab9374d10684c37c5d1716442c9ba8e8a578c6/Source/Examples/Xamarin.Forms/IssueDemos/IssueDemos.Droid/Resources/drawable-xhdpi/icon.png -------------------------------------------------------------------------------- /Source/Examples/Xamarin.Forms/IssueDemos/IssueDemos.Droid/Resources/drawable-xxhdpi/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oxyplot/oxyplot-xamarin/d8ab9374d10684c37c5d1716442c9ba8e8a578c6/Source/Examples/Xamarin.Forms/IssueDemos/IssueDemos.Droid/Resources/drawable-xxhdpi/icon.png -------------------------------------------------------------------------------- /Source/Examples/Xamarin.Forms/IssueDemos/IssueDemos.Droid/Resources/drawable/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oxyplot/oxyplot-xamarin/d8ab9374d10684c37c5d1716442c9ba8e8a578c6/Source/Examples/Xamarin.Forms/IssueDemos/IssueDemos.Droid/Resources/drawable/icon.png -------------------------------------------------------------------------------- /Source/Examples/Xamarin.Forms/IssueDemos/IssueDemos.Droid/Resources/values/Strings.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | Hello World, Click Me! 4 | DemoApp.Droid 5 | 6 | -------------------------------------------------------------------------------- /Source/Examples/Xamarin.Forms/IssueDemos/IssueDemos.Droid/packages.config: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /Source/Examples/Xamarin.Forms/IssueDemos/IssueDemos.WinPhone/App.xaml: -------------------------------------------------------------------------------- 1 |  7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 18 | 19 | 20 | 21 | -------------------------------------------------------------------------------- /Source/Examples/Xamarin.Forms/IssueDemos/IssueDemos.WinPhone/Assets/AlignmentGrid.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oxyplot/oxyplot-xamarin/d8ab9374d10684c37c5d1716442c9ba8e8a578c6/Source/Examples/Xamarin.Forms/IssueDemos/IssueDemos.WinPhone/Assets/AlignmentGrid.png -------------------------------------------------------------------------------- /Source/Examples/Xamarin.Forms/IssueDemos/IssueDemos.WinPhone/Assets/ApplicationIcon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oxyplot/oxyplot-xamarin/d8ab9374d10684c37c5d1716442c9ba8e8a578c6/Source/Examples/Xamarin.Forms/IssueDemos/IssueDemos.WinPhone/Assets/ApplicationIcon.png -------------------------------------------------------------------------------- /Source/Examples/Xamarin.Forms/IssueDemos/IssueDemos.WinPhone/Assets/Tiles/FlipCycleTileLarge.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oxyplot/oxyplot-xamarin/d8ab9374d10684c37c5d1716442c9ba8e8a578c6/Source/Examples/Xamarin.Forms/IssueDemos/IssueDemos.WinPhone/Assets/Tiles/FlipCycleTileLarge.png -------------------------------------------------------------------------------- /Source/Examples/Xamarin.Forms/IssueDemos/IssueDemos.WinPhone/Assets/Tiles/FlipCycleTileMedium.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oxyplot/oxyplot-xamarin/d8ab9374d10684c37c5d1716442c9ba8e8a578c6/Source/Examples/Xamarin.Forms/IssueDemos/IssueDemos.WinPhone/Assets/Tiles/FlipCycleTileMedium.png -------------------------------------------------------------------------------- /Source/Examples/Xamarin.Forms/IssueDemos/IssueDemos.WinPhone/Assets/Tiles/FlipCycleTileSmall.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oxyplot/oxyplot-xamarin/d8ab9374d10684c37c5d1716442c9ba8e8a578c6/Source/Examples/Xamarin.Forms/IssueDemos/IssueDemos.WinPhone/Assets/Tiles/FlipCycleTileSmall.png -------------------------------------------------------------------------------- /Source/Examples/Xamarin.Forms/IssueDemos/IssueDemos.WinPhone/Assets/Tiles/IconicTileMediumLarge.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oxyplot/oxyplot-xamarin/d8ab9374d10684c37c5d1716442c9ba8e8a578c6/Source/Examples/Xamarin.Forms/IssueDemos/IssueDemos.WinPhone/Assets/Tiles/IconicTileMediumLarge.png -------------------------------------------------------------------------------- /Source/Examples/Xamarin.Forms/IssueDemos/IssueDemos.WinPhone/Assets/Tiles/IconicTileSmall.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oxyplot/oxyplot-xamarin/d8ab9374d10684c37c5d1716442c9ba8e8a578c6/Source/Examples/Xamarin.Forms/IssueDemos/IssueDemos.WinPhone/Assets/Tiles/IconicTileSmall.png -------------------------------------------------------------------------------- /Source/Examples/Xamarin.Forms/IssueDemos/IssueDemos.WinPhone/LocalizedStrings.cs: -------------------------------------------------------------------------------- 1 | using IssueDemos.WinPhone.Resources; 2 | 3 | namespace IssueDemos.WinPhone 4 | { 5 | /// 6 | /// Provides access to string resources. 7 | /// 8 | public class LocalizedStrings 9 | { 10 | private static AppResources _localizedResources = new AppResources(); 11 | 12 | public AppResources LocalizedResources { get { return _localizedResources; } } 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /Source/Examples/Xamarin.Forms/IssueDemos/IssueDemos.WinPhone/MainPage.xaml: -------------------------------------------------------------------------------- 1 |  16 | 17 | -------------------------------------------------------------------------------- /Source/Examples/Xamarin.Forms/IssueDemos/IssueDemos.WinPhone/MainPage.xaml.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Net; 5 | using System.Windows; 6 | using System.Windows.Controls; 7 | using System.Windows.Navigation; 8 | using Microsoft.Phone.Controls; 9 | using Microsoft.Phone.Shell; 10 | 11 | namespace IssueDemos.WinPhone 12 | { 13 | public partial class MainPage : global::Xamarin.Forms.Platform.WinPhone.FormsApplicationPage 14 | { 15 | public MainPage() 16 | { 17 | InitializeComponent(); 18 | SupportedOrientations = SupportedPageOrientation.PortraitOrLandscape; 19 | 20 | global::Xamarin.Forms.Forms.Init(); 21 | OxyPlot.Xamarin.Forms.Platform.WP8.PlotViewRenderer.Init(); 22 | LoadApplication(new IssueDemos.App()); 23 | } 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /Source/Examples/Xamarin.Forms/IssueDemos/IssueDemos.WinPhone/Properties/AppManifest.xml: -------------------------------------------------------------------------------- 1 |  4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /Source/Examples/Xamarin.Forms/IssueDemos/IssueDemos.WinPhone/Properties/AssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | using System.Reflection; 2 | using System.Runtime.CompilerServices; 3 | using System.Runtime.InteropServices; 4 | using System.Resources; 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("IssueDemos.WinPhone")] 10 | [assembly: AssemblyDescription("")] 11 | [assembly: AssemblyConfiguration("")] 12 | [assembly: AssemblyCompany("")] 13 | [assembly: AssemblyProduct("IssueDemos.WinPhone")] 14 | [assembly: AssemblyCopyright("Copyright © 2014")] 15 | [assembly: AssemblyTrademark("")] 16 | [assembly: AssemblyCulture("")] 17 | 18 | // Setting ComVisible to false makes the types in this assembly not visible 19 | // to COM components. If you need to access a type in this assembly from 20 | // COM, set the ComVisible attribute to true on that type. 21 | [assembly: ComVisible(false)] 22 | 23 | // The following GUID is for the ID of the typelib if this project is exposed to COM 24 | [assembly: Guid("65077432-0c92-466b-b68d-911a8ec84f1d")] 25 | 26 | // Version information for an assembly consists of the following four values: 27 | // 28 | // Major Version 29 | // Minor Version 30 | // Build Number 31 | // Revision 32 | // 33 | // You can specify all the values or you can default the Revision and Build Numbers 34 | // by using the '*' as shown below: 35 | [assembly: AssemblyVersion("1.0.0.0")] 36 | [assembly: AssemblyFileVersion("1.0.0.0")] 37 | [assembly: NeutralResourcesLanguageAttribute("en-US")] 38 | -------------------------------------------------------------------------------- /Source/Examples/Xamarin.Forms/IssueDemos/IssueDemos.WinPhone/Properties/WMAppManifest.xml: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | Assets\ApplicationIcon.png 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | Assets\Tiles\FlipCycleTileSmall.png 21 | 0 22 | Assets\Tiles\FlipCycleTileMedium.png 23 | IssueDemos.WinPhone 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | -------------------------------------------------------------------------------- /Source/Examples/Xamarin.Forms/IssueDemos/IssueDemos.WinPhone/README_FIRST.txt: -------------------------------------------------------------------------------- 1 | For the Windows Phone toolkit make sure that you have 2 | marked the icons in the "Toolkit.Content" folder as content. That way they 3 | can be used as the icons for the ApplicationBar control. -------------------------------------------------------------------------------- /Source/Examples/Xamarin.Forms/IssueDemos/IssueDemos.WinPhone/SplashScreenImage.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oxyplot/oxyplot-xamarin/d8ab9374d10684c37c5d1716442c9ba8e8a578c6/Source/Examples/Xamarin.Forms/IssueDemos/IssueDemos.WinPhone/SplashScreenImage.jpg -------------------------------------------------------------------------------- /Source/Examples/Xamarin.Forms/IssueDemos/IssueDemos.WinPhone/Toolkit.Content/ApplicationBar.Add.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oxyplot/oxyplot-xamarin/d8ab9374d10684c37c5d1716442c9ba8e8a578c6/Source/Examples/Xamarin.Forms/IssueDemos/IssueDemos.WinPhone/Toolkit.Content/ApplicationBar.Add.png -------------------------------------------------------------------------------- /Source/Examples/Xamarin.Forms/IssueDemos/IssueDemos.WinPhone/Toolkit.Content/ApplicationBar.Cancel.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oxyplot/oxyplot-xamarin/d8ab9374d10684c37c5d1716442c9ba8e8a578c6/Source/Examples/Xamarin.Forms/IssueDemos/IssueDemos.WinPhone/Toolkit.Content/ApplicationBar.Cancel.png -------------------------------------------------------------------------------- /Source/Examples/Xamarin.Forms/IssueDemos/IssueDemos.WinPhone/Toolkit.Content/ApplicationBar.Check.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oxyplot/oxyplot-xamarin/d8ab9374d10684c37c5d1716442c9ba8e8a578c6/Source/Examples/Xamarin.Forms/IssueDemos/IssueDemos.WinPhone/Toolkit.Content/ApplicationBar.Check.png -------------------------------------------------------------------------------- /Source/Examples/Xamarin.Forms/IssueDemos/IssueDemos.WinPhone/Toolkit.Content/ApplicationBar.Delete.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oxyplot/oxyplot-xamarin/d8ab9374d10684c37c5d1716442c9ba8e8a578c6/Source/Examples/Xamarin.Forms/IssueDemos/IssueDemos.WinPhone/Toolkit.Content/ApplicationBar.Delete.png -------------------------------------------------------------------------------- /Source/Examples/Xamarin.Forms/IssueDemos/IssueDemos.WinPhone/Toolkit.Content/ApplicationBar.Select.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oxyplot/oxyplot-xamarin/d8ab9374d10684c37c5d1716442c9ba8e8a578c6/Source/Examples/Xamarin.Forms/IssueDemos/IssueDemos.WinPhone/Toolkit.Content/ApplicationBar.Select.png -------------------------------------------------------------------------------- /Source/Examples/Xamarin.Forms/IssueDemos/IssueDemos.WinPhone/packages.config: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /Source/Examples/Xamarin.Forms/IssueDemos/IssueDemos.iOS/AppDelegate.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | 5 | using Foundation; 6 | using UIKit; 7 | 8 | namespace IssueDemos.iOS 9 | { 10 | // The UIApplicationDelegate for the application. This class is responsible for launching the 11 | // User Interface of the application, as well as listening (and optionally responding) to 12 | // application events from iOS. 13 | [Register("AppDelegate")] 14 | public partial class AppDelegate : global::Xamarin.Forms.Platform.iOS.FormsApplicationDelegate 15 | { 16 | // 17 | // This method is invoked when the application has loaded and is ready to run. In this 18 | // method you should instantiate the window, load the UI into it and then make the window 19 | // visible. 20 | // 21 | // You have 17 seconds to return from this method, or iOS will terminate your application. 22 | // 23 | public override bool FinishedLaunching(UIApplication app, NSDictionary options) 24 | { 25 | global::Xamarin.Forms.Forms.Init(); 26 | OxyPlot.Xamarin.Forms.Platform.iOS.PlotViewRenderer.Init(); 27 | LoadApplication(new App()); 28 | 29 | return base.FinishedLaunching(app, options); 30 | } 31 | } 32 | } 33 | -------------------------------------------------------------------------------- /Source/Examples/Xamarin.Forms/IssueDemos/IssueDemos.iOS/Entitlements.plist: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /Source/Examples/Xamarin.Forms/IssueDemos/IssueDemos.iOS/Info.plist: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | UIDeviceFamily 6 | 7 | 1 8 | 2 9 | 10 | UISupportedInterfaceOrientations 11 | 12 | UIInterfaceOrientationPortrait 13 | UIInterfaceOrientationLandscapeLeft 14 | UIInterfaceOrientationLandscapeRight 15 | 16 | UISupportedInterfaceOrientations~ipad 17 | 18 | UIInterfaceOrientationPortrait 19 | UIInterfaceOrientationPortraitUpsideDown 20 | UIInterfaceOrientationLandscapeLeft 21 | UIInterfaceOrientationLandscapeRight 22 | 23 | MinimumOSVersion 24 | 6.0 25 | CFBundleDisplayName 26 | IssueDemos 27 | CFBundleIdentifier 28 | com.yourcompany.IssueDemos 29 | CFBundleVersion 30 | 1.0 31 | CFBundleIconFiles 32 | 33 | Icon-60@2x 34 | Icon-60@3x 35 | Icon-76 36 | Icon-76@2x 37 | Default 38 | Default@2x 39 | Default-568h@2x 40 | Default-Portrait 41 | Default-Portrait@2x 42 | Icon-Small-40 43 | Icon-Small-40@2x 44 | Icon-Small-40@3x 45 | Icon-Small 46 | Icon-Small@2x 47 | Icon-Small@3x 48 | 49 | UILaunchStoryboardName 50 | LaunchScreen 51 | 52 | 53 | -------------------------------------------------------------------------------- /Source/Examples/Xamarin.Forms/IssueDemos/IssueDemos.iOS/Main.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | 5 | using Foundation; 6 | using UIKit; 7 | 8 | namespace IssueDemos.iOS 9 | { 10 | public class Application 11 | { 12 | // This is the main entry point of the application. 13 | static void Main(string[] args) 14 | { 15 | // if you want to use a different Application Delegate class from "AppDelegate" 16 | // you can specify it here. 17 | UIApplication.Main(args, null, "AppDelegate"); 18 | } 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /Source/Examples/Xamarin.Forms/IssueDemos/IssueDemos.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("IssueDemos.iOS")] 9 | [assembly: AssemblyDescription("")] 10 | [assembly: AssemblyConfiguration("")] 11 | [assembly: AssemblyCompany("")] 12 | [assembly: AssemblyProduct("IssueDemos.iOS")] 13 | [assembly: AssemblyCopyright("Copyright © 2014")] 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("72bdc44f-c588-44f3-b6df-9aace7daafdd")] 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 | -------------------------------------------------------------------------------- /Source/Examples/Xamarin.Forms/IssueDemos/IssueDemos.iOS/Resources/Default-568h@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oxyplot/oxyplot-xamarin/d8ab9374d10684c37c5d1716442c9ba8e8a578c6/Source/Examples/Xamarin.Forms/IssueDemos/IssueDemos.iOS/Resources/Default-568h@2x.png -------------------------------------------------------------------------------- /Source/Examples/Xamarin.Forms/IssueDemos/IssueDemos.iOS/Resources/Default-Portrait.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oxyplot/oxyplot-xamarin/d8ab9374d10684c37c5d1716442c9ba8e8a578c6/Source/Examples/Xamarin.Forms/IssueDemos/IssueDemos.iOS/Resources/Default-Portrait.png -------------------------------------------------------------------------------- /Source/Examples/Xamarin.Forms/IssueDemos/IssueDemos.iOS/Resources/Default-Portrait@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oxyplot/oxyplot-xamarin/d8ab9374d10684c37c5d1716442c9ba8e8a578c6/Source/Examples/Xamarin.Forms/IssueDemos/IssueDemos.iOS/Resources/Default-Portrait@2x.png -------------------------------------------------------------------------------- /Source/Examples/Xamarin.Forms/IssueDemos/IssueDemos.iOS/Resources/Default.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oxyplot/oxyplot-xamarin/d8ab9374d10684c37c5d1716442c9ba8e8a578c6/Source/Examples/Xamarin.Forms/IssueDemos/IssueDemos.iOS/Resources/Default.png -------------------------------------------------------------------------------- /Source/Examples/Xamarin.Forms/IssueDemos/IssueDemos.iOS/Resources/Default@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oxyplot/oxyplot-xamarin/d8ab9374d10684c37c5d1716442c9ba8e8a578c6/Source/Examples/Xamarin.Forms/IssueDemos/IssueDemos.iOS/Resources/Default@2x.png -------------------------------------------------------------------------------- /Source/Examples/Xamarin.Forms/IssueDemos/IssueDemos.iOS/Resources/Icon-60@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oxyplot/oxyplot-xamarin/d8ab9374d10684c37c5d1716442c9ba8e8a578c6/Source/Examples/Xamarin.Forms/IssueDemos/IssueDemos.iOS/Resources/Icon-60@2x.png -------------------------------------------------------------------------------- /Source/Examples/Xamarin.Forms/IssueDemos/IssueDemos.iOS/Resources/Icon-60@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oxyplot/oxyplot-xamarin/d8ab9374d10684c37c5d1716442c9ba8e8a578c6/Source/Examples/Xamarin.Forms/IssueDemos/IssueDemos.iOS/Resources/Icon-60@3x.png -------------------------------------------------------------------------------- /Source/Examples/Xamarin.Forms/IssueDemos/IssueDemos.iOS/Resources/Icon-76.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oxyplot/oxyplot-xamarin/d8ab9374d10684c37c5d1716442c9ba8e8a578c6/Source/Examples/Xamarin.Forms/IssueDemos/IssueDemos.iOS/Resources/Icon-76.png -------------------------------------------------------------------------------- /Source/Examples/Xamarin.Forms/IssueDemos/IssueDemos.iOS/Resources/Icon-76@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oxyplot/oxyplot-xamarin/d8ab9374d10684c37c5d1716442c9ba8e8a578c6/Source/Examples/Xamarin.Forms/IssueDemos/IssueDemos.iOS/Resources/Icon-76@2x.png -------------------------------------------------------------------------------- /Source/Examples/Xamarin.Forms/IssueDemos/IssueDemos.iOS/Resources/Icon-Small-40.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oxyplot/oxyplot-xamarin/d8ab9374d10684c37c5d1716442c9ba8e8a578c6/Source/Examples/Xamarin.Forms/IssueDemos/IssueDemos.iOS/Resources/Icon-Small-40.png -------------------------------------------------------------------------------- /Source/Examples/Xamarin.Forms/IssueDemos/IssueDemos.iOS/Resources/Icon-Small-40@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oxyplot/oxyplot-xamarin/d8ab9374d10684c37c5d1716442c9ba8e8a578c6/Source/Examples/Xamarin.Forms/IssueDemos/IssueDemos.iOS/Resources/Icon-Small-40@2x.png -------------------------------------------------------------------------------- /Source/Examples/Xamarin.Forms/IssueDemos/IssueDemos.iOS/Resources/Icon-Small-40@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oxyplot/oxyplot-xamarin/d8ab9374d10684c37c5d1716442c9ba8e8a578c6/Source/Examples/Xamarin.Forms/IssueDemos/IssueDemos.iOS/Resources/Icon-Small-40@3x.png -------------------------------------------------------------------------------- /Source/Examples/Xamarin.Forms/IssueDemos/IssueDemos.iOS/Resources/Icon-Small.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oxyplot/oxyplot-xamarin/d8ab9374d10684c37c5d1716442c9ba8e8a578c6/Source/Examples/Xamarin.Forms/IssueDemos/IssueDemos.iOS/Resources/Icon-Small.png -------------------------------------------------------------------------------- /Source/Examples/Xamarin.Forms/IssueDemos/IssueDemos.iOS/Resources/Icon-Small@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oxyplot/oxyplot-xamarin/d8ab9374d10684c37c5d1716442c9ba8e8a578c6/Source/Examples/Xamarin.Forms/IssueDemos/IssueDemos.iOS/Resources/Icon-Small@2x.png -------------------------------------------------------------------------------- /Source/Examples/Xamarin.Forms/IssueDemos/IssueDemos.iOS/Resources/Icon-Small@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oxyplot/oxyplot-xamarin/d8ab9374d10684c37c5d1716442c9ba8e8a578c6/Source/Examples/Xamarin.Forms/IssueDemos/IssueDemos.iOS/Resources/Icon-Small@3x.png -------------------------------------------------------------------------------- /Source/Examples/Xamarin.Forms/IssueDemos/IssueDemos.iOS/Resources/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 | -------------------------------------------------------------------------------- /Source/Examples/Xamarin.Forms/IssueDemos/IssueDemos.iOS/iTunesArtwork: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oxyplot/oxyplot-xamarin/d8ab9374d10684c37c5d1716442c9ba8e8a578c6/Source/Examples/Xamarin.Forms/IssueDemos/IssueDemos.iOS/iTunesArtwork -------------------------------------------------------------------------------- /Source/Examples/Xamarin.Forms/IssueDemos/IssueDemos.iOS/iTunesArtwork@2x: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oxyplot/oxyplot-xamarin/d8ab9374d10684c37c5d1716442c9ba8e8a578c6/Source/Examples/Xamarin.Forms/IssueDemos/IssueDemos.iOS/iTunesArtwork@2x -------------------------------------------------------------------------------- /Source/Examples/Xamarin.Forms/IssueDemos/IssueDemos.iOS/packages.config: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /Source/Examples/Xamarin.Forms/IssueDemos/IssueDemos/App.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | 6 | using Xamarin.Forms; 7 | 8 | namespace IssueDemos 9 | { 10 | public class App : Application 11 | { 12 | public App() 13 | { 14 | MainPage = new NavigationPage(new MainPage()); 15 | } 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /Source/Examples/Xamarin.Forms/IssueDemos/IssueDemos/DemoInfo.cs: -------------------------------------------------------------------------------- 1 | namespace IssueDemos 2 | { 3 | using System; 4 | using System.Reflection; 5 | using Xamarin.Forms; 6 | 7 | public class DemoInfo 8 | { 9 | private readonly DemoPageAttribute dpa; 10 | private readonly Type type; 11 | 12 | public DemoInfo(Type type) 13 | { 14 | this.type = type; 15 | this.dpa = type.GetTypeInfo().GetCustomAttribute(); 16 | } 17 | 18 | public Page CreatePage() 19 | { 20 | return (Page)Activator.CreateInstance(this.type); 21 | } 22 | 23 | public string Title { get { return this.dpa.Title; } } 24 | 25 | public string Details { get { return this.dpa.Details; } } 26 | } 27 | } -------------------------------------------------------------------------------- /Source/Examples/Xamarin.Forms/IssueDemos/IssueDemos/DemoPageAttribute.cs: -------------------------------------------------------------------------------- 1 | namespace IssueDemos 2 | { 3 | using System; 4 | 5 | public sealed class DemoPageAttribute : Attribute 6 | { 7 | public DemoPageAttribute(string title, string details) 8 | { 9 | this.Title = title; 10 | this.Details = details; 11 | } 12 | public string Title { get; private set; } 13 | public string Details { get; private set; } 14 | } 15 | } -------------------------------------------------------------------------------- /Source/Examples/Xamarin.Forms/IssueDemos/IssueDemos/MainPage.xaml: -------------------------------------------------------------------------------- 1 |  2 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /Source/Examples/Xamarin.Forms/IssueDemos/IssueDemos/MainPage.xaml.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | using System.Reflection; 3 | 4 | namespace IssueDemos 5 | { 6 | using Xamarin.Forms; 7 | 8 | public partial class MainPage : ContentPage 9 | { 10 | public MainPage() 11 | { 12 | this.InitializeComponent(); 13 | var demoPages = new List(); 14 | foreach (var type in typeof(MainPage).GetTypeInfo().Assembly.ExportedTypes) 15 | { 16 | var ti = type.GetTypeInfo(); 17 | if (ti.GetCustomAttribute() != null) 18 | { 19 | demoPages.Add(new DemoInfo(type)); 20 | } 21 | } 22 | 23 | this.list1.ItemsSource = demoPages; 24 | } 25 | 26 | private async void ListView_OnItemTapped(object sender, ItemTappedEventArgs e) 27 | { 28 | var demoInfo = (DemoInfo)e.Item; 29 | var page = demoInfo.CreatePage(); 30 | page.Title = demoInfo.Title; 31 | await Navigation.PushAsync(page); 32 | } 33 | } 34 | } 35 | -------------------------------------------------------------------------------- /Source/Examples/Xamarin.Forms/IssueDemos/IssueDemos/Pages/AddPlotViews.xaml: -------------------------------------------------------------------------------- 1 |  2 | 7 | 8 |