summaryrefslogtreecommitdiff
path: root/Xamarin.Forms.ControlGallery.WP8
diff options
context:
space:
mode:
Diffstat (limited to 'Xamarin.Forms.ControlGallery.WP8')
-rw-r--r--Xamarin.Forms.ControlGallery.WP8/App.xaml20
-rw-r--r--Xamarin.Forms.ControlGallery.WP8/App.xaml.cs234
-rw-r--r--Xamarin.Forms.ControlGallery.WP8/Assets/AlignmentGrid.pngbin0 -> 9042 bytes
-rw-r--r--Xamarin.Forms.ControlGallery.WP8/Assets/ApplicationIcon.pngbin0 -> 3392 bytes
-rw-r--r--Xamarin.Forms.ControlGallery.WP8/Assets/Tiles/FlipCycleTileLarge.pngbin0 -> 9930 bytes
-rw-r--r--Xamarin.Forms.ControlGallery.WP8/Assets/Tiles/FlipCycleTileMedium.pngbin0 -> 9070 bytes
-rw-r--r--Xamarin.Forms.ControlGallery.WP8/Assets/Tiles/FlipCycleTileSmall.pngbin0 -> 3674 bytes
-rw-r--r--Xamarin.Forms.ControlGallery.WP8/Assets/Tiles/IconicTileMediumLarge.pngbin0 -> 4937 bytes
-rw-r--r--Xamarin.Forms.ControlGallery.WP8/Assets/Tiles/IconicTileSmall.pngbin0 -> 3724 bytes
-rw-r--r--Xamarin.Forms.ControlGallery.WP8/BrokenNativeControl.cs56
-rw-r--r--Xamarin.Forms.ControlGallery.WP8/LocalizedStrings.cs14
-rw-r--r--Xamarin.Forms.ControlGallery.WP8/MainPage.xaml63
-rw-r--r--Xamarin.Forms.ControlGallery.WP8/MainPage.xaml.cs143
-rw-r--r--Xamarin.Forms.ControlGallery.WP8/Properties/AppManifest.xml6
-rw-r--r--Xamarin.Forms.ControlGallery.WP8/Properties/AssemblyInfo.cs37
-rw-r--r--Xamarin.Forms.ControlGallery.WP8/Properties/WMAppManifest.xml46
-rw-r--r--Xamarin.Forms.ControlGallery.WP8/Resources/AppResources.Designer.cs127
-rw-r--r--Xamarin.Forms.ControlGallery.WP8/Resources/AppResources.resx137
-rw-r--r--Xamarin.Forms.ControlGallery.WP8/WebImages/XamarinLogo.pngbin0 -> 6990 bytes
-rw-r--r--Xamarin.Forms.ControlGallery.WP8/Xamarin.Forms.ControlGallery.WP8.csproj258
-rw-r--r--Xamarin.Forms.ControlGallery.WP8/app.config11
-rw-r--r--Xamarin.Forms.ControlGallery.WP8/bank.pngbin0 -> 1444 bytes
-rw-r--r--Xamarin.Forms.ControlGallery.WP8/cover1.jpgbin0 -> 40625 bytes
-rw-r--r--Xamarin.Forms.ControlGallery.WP8/cover1small.jpgbin0 -> 24277 bytes
-rw-r--r--Xamarin.Forms.ControlGallery.WP8/crimson.jpgbin0 -> 79109 bytes
-rw-r--r--Xamarin.Forms.ControlGallery.WP8/crimsonsmall.jpgbin0 -> 5028 bytes
-rw-r--r--Xamarin.Forms.ControlGallery.WP8/default.css2
-rw-r--r--Xamarin.Forms.ControlGallery.WP8/local.html10
-rw-r--r--Xamarin.Forms.ControlGallery.WP8/menuIcon.pngbin0 -> 129 bytes
-rw-r--r--Xamarin.Forms.ControlGallery.WP8/oasis.jpgbin0 -> 27246 bytes
-rw-r--r--Xamarin.Forms.ControlGallery.WP8/oasissmall.jpgbin0 -> 3084 bytes
-rw-r--r--Xamarin.Forms.ControlGallery.WP8/packages.config4
-rw-r--r--Xamarin.Forms.ControlGallery.WP8/photo.jpgbin0 -> 114121 bytes
-rw-r--r--Xamarin.Forms.ControlGallery.WP8/seth.pngbin0 -> 4696 bytes
-rw-r--r--Xamarin.Forms.ControlGallery.WP8/toolbar_close.pngbin0 -> 463 bytes
35 files changed, 1168 insertions, 0 deletions
diff --git a/Xamarin.Forms.ControlGallery.WP8/App.xaml b/Xamarin.Forms.ControlGallery.WP8/App.xaml
new file mode 100644
index 00000000..f1554d73
--- /dev/null
+++ b/Xamarin.Forms.ControlGallery.WP8/App.xaml
@@ -0,0 +1,20 @@
+<Application
+ x:Class="Xamarin.Forms.ControlGallery.WP8.App"
+ xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
+ xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
+ xmlns:phone="clr-namespace:Microsoft.Phone.Controls;assembly=Microsoft.Phone"
+ xmlns:shell="clr-namespace:Microsoft.Phone.Shell;assembly=Microsoft.Phone">
+
+ <!--Application Resources-->
+ <Application.Resources>
+ <local:LocalizedStrings xmlns:local="clr-namespace:Xamarin.Forms.ControlGallery.WP8" x:Key="LocalizedStrings"/>
+ </Application.Resources>
+
+ <Application.ApplicationLifetimeObjects>
+ <!--Required object that handles lifetime events for the application-->
+ <shell:PhoneApplicationService
+ Launching="Application_Launching" Closing="Application_Closing"
+ Activated="Application_Activated" Deactivated="Application_Deactivated"/>
+ </Application.ApplicationLifetimeObjects>
+
+</Application>
diff --git a/Xamarin.Forms.ControlGallery.WP8/App.xaml.cs b/Xamarin.Forms.ControlGallery.WP8/App.xaml.cs
new file mode 100644
index 00000000..6b43e3b7
--- /dev/null
+++ b/Xamarin.Forms.ControlGallery.WP8/App.xaml.cs
@@ -0,0 +1,234 @@
+using System;
+using System.Diagnostics;
+using System.Resources;
+using System.Windows;
+using System.Windows.Markup;
+using System.Windows.Navigation;
+using Microsoft.Phone.Controls;
+using Microsoft.Phone.Shell;
+using Xamarin.Forms.ControlGallery.WP8.Resources;
+
+using Application = Xamarin.Forms.Application;
+
+namespace Xamarin.Forms.ControlGallery.WP8
+{
+ public partial class App : System.Windows.Application
+ {
+ /// <summary>
+ /// Provides easy access to the root frame of the Phone Application.
+ /// </summary>
+ /// <returns>The root frame of the Phone Application.</returns>
+ public static PhoneApplicationFrame RootFrame { get; private set; }
+
+ /// <summary>
+ /// Constructor for the Application object.
+ /// </summary>
+ public App()
+ {
+ if (!Debugger.IsAttached)
+ Insights.Initialize (Controls.App.Secrets["InsightsApiKey"]);
+
+ FormsMaps.Init (Controls.App.Secrets["WP8AppId"], Controls.App.Secrets["WP8AuthToken"]);
+
+ // Global handler for uncaught exceptions.
+ UnhandledException += Application_UnhandledException;
+
+ // Standard XAML initialization
+ InitializeComponent();
+
+ // Phone-specific initialization
+ InitializePhoneApplication();
+
+ // Language display initialization
+ InitializeLanguage();
+
+ // Show graphics profiling information while debugging.
+ if (Debugger.IsAttached)
+ {
+ // Display the current frame rate counters.
+ Current.Host.Settings.EnableFrameRateCounter = true;
+
+ // Show the areas of the app that are being redrawn in each frame.
+ //Application.Current.Host.Settings.EnableRedrawRegions = true;
+
+ // Enable non-production analysis visualization mode,
+ // which shows areas of a page that are handed off to GPU with a colored overlay.
+ //Application.Current.Host.Settings.EnableCacheVisualization = true;
+
+ // Prevent the screen from turning off while under the debugger by disabling
+ // the application's idle detection.
+ // Caution:- Use this under debug mode only. Application that disables user idle detection will continue to run
+ // and consume battery power when the user is not using the phone.
+ PhoneApplicationService.Current.UserIdleDetectionMode = IdleDetectionMode.Disabled;
+ }
+
+ }
+
+ // Code to execute when the application is launching (eg, from Start)
+ // This code will not execute when the application is reactivated
+ void Application_Launching(object sender, LaunchingEventArgs e)
+ {
+ Debug.WriteLine ("Launching");
+ }
+
+ // Code to execute when the application is activated (brought to foreground)
+ // This code will not execute when the application is first launched
+ void Application_Activated(object sender, ActivatedEventArgs e)
+ {
+ Debug.WriteLine ("Closing");
+ }
+
+ // Code to execute when the application is deactivated (sent to background)
+ // This code will not execute when the application is closing
+ void Application_Deactivated(object sender, DeactivatedEventArgs e)
+ {
+ Debug.WriteLine ("Deactivated");
+ }
+
+ // Code to execute when the application is closing (eg, user hit Back)
+ // This code will not execute when the application is deactivated
+ void Application_Closing(object sender, ClosingEventArgs e)
+ {
+ Debug.WriteLine ("Closing");
+ }
+
+ // Code to execute if a navigation fails
+ void RootFrame_NavigationFailed(object sender, NavigationFailedEventArgs e)
+ {
+ if (Debugger.IsAttached)
+ {
+ // A navigation has failed; break into the debugger
+ Debugger.Break();
+ }
+ }
+
+ // Code to execute on Unhandled Exceptions
+ void Application_UnhandledException(object sender, ApplicationUnhandledExceptionEventArgs e)
+ {
+ if (Debugger.IsAttached)
+ {
+ // An unhandled exception has occurred; break into the debugger
+ Debugger.Break();
+ }
+ }
+
+ #region Phone application initialization
+
+ // Avoid double-initialization
+ bool _phoneApplicationInitialized = false;
+
+ // Do not add any additional code to this method
+ void InitializePhoneApplication()
+ {
+ if (_phoneApplicationInitialized)
+ return;
+
+ // Create the frame but don't set it as RootVisual yet; this allows the splash
+ // screen to remain active until the application is ready to render.
+ RootFrame = new PhoneApplicationFrame();
+ RootFrame.Navigated += CompleteInitializePhoneApplication;
+
+ // Handle navigation failures
+ RootFrame.NavigationFailed += RootFrame_NavigationFailed;
+
+ // Handle reset requests for clearing the backstack
+ RootFrame.Navigated += CheckForResetNavigation;
+
+ // Ensure we don't initialize again
+ _phoneApplicationInitialized = true;
+ }
+
+ // Do not add any additional code to this method
+ void CompleteInitializePhoneApplication(object sender, System.Windows.Navigation.NavigationEventArgs e)
+ {
+ // Set the root visual to allow the application to render
+ if (RootVisual != RootFrame)
+ RootVisual = RootFrame;
+
+ // Remove this handler since it is no longer needed
+ RootFrame.Navigated -= CompleteInitializePhoneApplication;
+ }
+
+ void CheckForResetNavigation(object sender, System.Windows.Navigation.NavigationEventArgs e)
+ {
+ // If the app has received a 'reset' navigation, then we need to check
+ // on the next navigation to see if the page stack should be reset
+ if (e.NavigationMode == NavigationMode.Reset)
+ RootFrame.Navigated += ClearBackStackAfterReset;
+ }
+
+ void ClearBackStackAfterReset(object sender, System.Windows.Navigation.NavigationEventArgs e)
+ {
+ // Unregister the event so it doesn't get called again
+ RootFrame.Navigated -= ClearBackStackAfterReset;
+
+ // Only clear the stack for 'new' (forward) and 'refresh' navigations
+ if (e.NavigationMode != NavigationMode.New && e.NavigationMode != NavigationMode.Refresh)
+ return;
+
+ // For UI consistency, clear the entire page stack
+ while (RootFrame.RemoveBackEntry() != null)
+ {
+ ; // do nothing
+ }
+ }
+
+ #endregion
+
+ // Initialize the app's font and flow direction as defined in its localized resource strings.
+ //
+ // To ensure that the font of your application is aligned with its supported languages and that the
+ // FlowDirection for each of those languages follows its traditional direction, ResourceLanguage
+ // and ResourceFlowDirection should be initialized in each resx file to match these values with that
+ // file's culture. For example:
+ //
+ // AppResources.es-ES.resx
+ // ResourceLanguage's value should be "es-ES"
+ // ResourceFlowDirection's value should be "LeftToRight"
+ //
+ // AppResources.ar-SA.resx
+ // ResourceLanguage's value should be "ar-SA"
+ // ResourceFlowDirection's value should be "RightToLeft"
+ //
+ // For more info on localizing Windows Phone apps see http://go.microsoft.com/fwlink/?LinkId=262072.
+ //
+ void InitializeLanguage()
+ {
+ try
+ {
+ // Set the font to match the display language defined by the
+ // ResourceLanguage resource string for each supported language.
+ //
+ // Fall back to the font of the neutral language if the Display
+ // language of the phone is not supported.
+ //
+ // If a compiler error is hit then ResourceLanguage is missing from
+ // the resource file.
+ RootFrame.Language = XmlLanguage.GetLanguage(AppResources.ResourceLanguage);
+
+ // Set the FlowDirection of all elements under the root frame based
+ // on the ResourceFlowDirection resource string for each
+ // supported language.
+ //
+ // If a compiler error is hit then ResourceFlowDirection is missing from
+ // the resource file.
+ FlowDirection flow = (FlowDirection)Enum.Parse(typeof(FlowDirection), AppResources.ResourceFlowDirection);
+ RootFrame.FlowDirection = flow;
+ }
+ catch
+ {
+ // If an exception is caught here it is most likely due to either
+ // ResourceLangauge not being correctly set to a supported language
+ // code or ResourceFlowDirection is set to a value other than LeftToRight
+ // or RightToLeft.
+
+ if (Debugger.IsAttached)
+ {
+ Debugger.Break();
+ }
+
+ throw;
+ }
+ }
+ }
+}
diff --git a/Xamarin.Forms.ControlGallery.WP8/Assets/AlignmentGrid.png b/Xamarin.Forms.ControlGallery.WP8/Assets/AlignmentGrid.png
new file mode 100644
index 00000000..f7d2e978
--- /dev/null
+++ b/Xamarin.Forms.ControlGallery.WP8/Assets/AlignmentGrid.png
Binary files differ
diff --git a/Xamarin.Forms.ControlGallery.WP8/Assets/ApplicationIcon.png b/Xamarin.Forms.ControlGallery.WP8/Assets/ApplicationIcon.png
new file mode 100644
index 00000000..7d95d4e0
--- /dev/null
+++ b/Xamarin.Forms.ControlGallery.WP8/Assets/ApplicationIcon.png
Binary files differ
diff --git a/Xamarin.Forms.ControlGallery.WP8/Assets/Tiles/FlipCycleTileLarge.png b/Xamarin.Forms.ControlGallery.WP8/Assets/Tiles/FlipCycleTileLarge.png
new file mode 100644
index 00000000..e0c59ac0
--- /dev/null
+++ b/Xamarin.Forms.ControlGallery.WP8/Assets/Tiles/FlipCycleTileLarge.png
Binary files differ
diff --git a/Xamarin.Forms.ControlGallery.WP8/Assets/Tiles/FlipCycleTileMedium.png b/Xamarin.Forms.ControlGallery.WP8/Assets/Tiles/FlipCycleTileMedium.png
new file mode 100644
index 00000000..e93b89d6
--- /dev/null
+++ b/Xamarin.Forms.ControlGallery.WP8/Assets/Tiles/FlipCycleTileMedium.png
Binary files differ
diff --git a/Xamarin.Forms.ControlGallery.WP8/Assets/Tiles/FlipCycleTileSmall.png b/Xamarin.Forms.ControlGallery.WP8/Assets/Tiles/FlipCycleTileSmall.png
new file mode 100644
index 00000000..550b1b5e
--- /dev/null
+++ b/Xamarin.Forms.ControlGallery.WP8/Assets/Tiles/FlipCycleTileSmall.png
Binary files differ
diff --git a/Xamarin.Forms.ControlGallery.WP8/Assets/Tiles/IconicTileMediumLarge.png b/Xamarin.Forms.ControlGallery.WP8/Assets/Tiles/IconicTileMediumLarge.png
new file mode 100644
index 00000000..686e6b53
--- /dev/null
+++ b/Xamarin.Forms.ControlGallery.WP8/Assets/Tiles/IconicTileMediumLarge.png
Binary files differ
diff --git a/Xamarin.Forms.ControlGallery.WP8/Assets/Tiles/IconicTileSmall.png b/Xamarin.Forms.ControlGallery.WP8/Assets/Tiles/IconicTileSmall.png
new file mode 100644
index 00000000..d4b5ede1
--- /dev/null
+++ b/Xamarin.Forms.ControlGallery.WP8/Assets/Tiles/IconicTileSmall.png
Binary files differ
diff --git a/Xamarin.Forms.ControlGallery.WP8/BrokenNativeControl.cs b/Xamarin.Forms.ControlGallery.WP8/BrokenNativeControl.cs
new file mode 100644
index 00000000..b05c12cb
--- /dev/null
+++ b/Xamarin.Forms.ControlGallery.WP8/BrokenNativeControl.cs
@@ -0,0 +1,56 @@
+using System.Windows;
+using System.Windows.Controls;
+using System.Windows.Media;
+
+namespace Xamarin.Forms.ControlGallery.WP8
+{
+ internal class BrokenNativeControl : Panel
+ {
+ public BrokenNativeControl ()
+ {
+ _textBlock = new TextBlock {
+ MinHeight = 0,
+ MaxHeight = double.PositiveInfinity,
+ MinWidth = 0,
+ MaxWidth = double.PositiveInfinity,
+ FontSize = 24,
+ HorizontalAlignment = HorizontalAlignment.Center
+ };
+
+ Children.Add (_textBlock);
+
+ Background = new RadialGradientBrush (Colors.Green, Colors.Blue);
+ }
+
+ public static readonly DependencyProperty TextProperty = DependencyProperty.Register (
+ "Text", typeof(string), typeof(BrokenNativeControl), new PropertyMetadata (default(string), PropertyChangedCallback));
+
+ static void PropertyChangedCallback (DependencyObject dependencyObject,
+ DependencyPropertyChangedEventArgs dependencyPropertyChangedEventArgs)
+ {
+ ((BrokenNativeControl)dependencyObject)._textBlock.Text = (string)dependencyPropertyChangedEventArgs.NewValue;
+ }
+
+ public string Text
+ {
+ get { return (string)GetValue (TextProperty); }
+ set { SetValue (TextProperty, value); }
+ }
+
+ readonly TextBlock _textBlock;
+
+ protected override System.Windows.Size ArrangeOverride (System.Windows.Size finalSize)
+ {
+ _textBlock.Arrange (new Rect (0, 0, finalSize.Width, finalSize.Height));
+ return finalSize;
+ }
+
+ protected override System.Windows.Size MeasureOverride (System.Windows.Size availableSize)
+ {
+ _textBlock.Measure (availableSize);
+
+ // This deliberately does something wrong so we can demo fixing it
+ return new System.Windows.Size (600, _textBlock.DesiredSize.Height);
+ }
+ }
+} \ No newline at end of file
diff --git a/Xamarin.Forms.ControlGallery.WP8/LocalizedStrings.cs b/Xamarin.Forms.ControlGallery.WP8/LocalizedStrings.cs
new file mode 100644
index 00000000..174957b7
--- /dev/null
+++ b/Xamarin.Forms.ControlGallery.WP8/LocalizedStrings.cs
@@ -0,0 +1,14 @@
+using Xamarin.Forms.ControlGallery.WP8.Resources;
+
+namespace Xamarin.Forms.ControlGallery.WP8
+{
+ /// <summary>
+ /// Provides access to string resources.
+ /// </summary>
+ public class LocalizedStrings
+ {
+ static AppResources _localizedResources = new AppResources();
+
+ public AppResources LocalizedResources { get { return _localizedResources; } }
+ }
+}
diff --git a/Xamarin.Forms.ControlGallery.WP8/MainPage.xaml b/Xamarin.Forms.ControlGallery.WP8/MainPage.xaml
new file mode 100644
index 00000000..03e8f09b
--- /dev/null
+++ b/Xamarin.Forms.ControlGallery.WP8/MainPage.xaml
@@ -0,0 +1,63 @@
+<winPhone:FormsApplicationPage
+ x:Class="Xamarin.Forms.ControlGallery.WP8.MainPage"
+ xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
+ xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
+ xmlns:phone="clr-namespace:Microsoft.Phone.Controls;assembly=Microsoft.Phone"
+ xmlns:shell="clr-namespace:Microsoft.Phone.Shell;assembly=Microsoft.Phone"
+ xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
+ xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
+ xmlns:winPhone="clr-namespace:Xamarin.Forms.Platform.WinPhone;assembly=Xamarin.Forms.Platform.WP8"
+ mc:Ignorable="d"
+ FontFamily="{StaticResource PhoneFontFamilyNormal}"
+ FontSize="{StaticResource PhoneFontSizeNormal}"
+ Foreground="{StaticResource PhoneForegroundBrush}"
+ SupportedOrientations="PortraitOrLandscape" Orientation="Portrait"
+ shell:SystemTray.IsVisible="True">
+
+ <!--LayoutRoot is the root grid where all page content is placed-->
+ <Grid x:Name="LayoutRoot" Background="Transparent">
+ <Grid.RowDefinitions>
+ <RowDefinition Height="Auto"/>
+ <RowDefinition Height="*"/>
+ </Grid.RowDefinitions>
+
+ <!-- LOCALIZATION NOTE:
+ To localize the displayed strings copy their values to appropriately named
+ keys in the app's neutral language resource file (AppResources.resx) then
+ replace the hard-coded text value between the attributes' quotation marks
+ with the binding clause whose path points to that string name.
+
+ For example:
+
+ Text="{Binding Path=LocalizedResources.ApplicationTitle, Source={StaticResource LocalizedStrings}}"
+
+ This binding points to the template's string resource named "ApplicationTitle".
+
+ Adding supported languages in the Project Properties tab will create a
+ new resx file per language that can carry the translated values of your
+ UI strings. The binding in these examples will cause the value of the
+ attributes to be drawn from the .resx file that matches the
+ CurrentUICulture of the app at run time.
+ -->
+
+ <!--TitlePanel contains the name of the application and page title-->
+ <StackPanel x:Name="TitlePanel" Grid.Row="0" Margin="12,17,0,28">
+ <TextBlock Text="MY APPLICATION" Style="{StaticResource PhoneTextNormalStyle}" Margin="12,0"/>
+ <TextBlock Text="page name" Margin="9,-7,0,0" Style="{StaticResource PhoneTextTitle1Style}"/>
+ </StackPanel>
+
+ <!--ContentPanel - place additional content here-->
+ <Grid x:Name="ContentPanel" Grid.Row="1" Margin="12,0,12,0">
+
+ </Grid>
+
+ <!--Uncomment to see an alignment grid to help ensure your controls are
+ aligned on common boundaries. The image has a top margin of -32px to
+ account for the System Tray. Set this to 0 (or remove the margin altogether)
+ if the System Tray is hidden.
+
+ Before shipping remove this XAML and the image itself.-->
+ <!--<Image Source="/Assets/AlignmentGrid.png" VerticalAlignment="Top" Height="800" Width="480" Margin="0,-32,0,0" Grid.Row="0" Grid.RowSpan="2" IsHitTestVisible="False" />-->
+ </Grid>
+
+</winPhone:FormsApplicationPage>
diff --git a/Xamarin.Forms.ControlGallery.WP8/MainPage.xaml.cs b/Xamarin.Forms.ControlGallery.WP8/MainPage.xaml.cs
new file mode 100644
index 00000000..e1ddb60f
--- /dev/null
+++ b/Xamarin.Forms.ControlGallery.WP8/MainPage.xaml.cs
@@ -0,0 +1,143 @@
+using System.Collections.Generic;
+using System.Linq;
+using System.Net;
+using System.Windows;
+using System.Windows.Automation.Peers;
+using System.Windows.Controls;
+using System.Windows.Media;
+using System.Windows.Navigation;
+using Microsoft.Phone.Controls;
+using Microsoft.Phone.Shell;
+using Xamarin.Forms.ControlGallery.WP8.Resources;
+using Xamarin.Forms;
+using Xamarin.Forms.ControlGallery.WP8;
+using Xamarin.Forms.Controls;
+using Xamarin.Forms.Maps.WP8;
+using Xamarin.Forms.Platform.WinPhone;
+
+[assembly: Dependency (typeof (StringProvider))]
+namespace Xamarin.Forms.ControlGallery.WP8
+{
+ public class StringProvider : IStringProvider
+ {
+ public string CoreGalleryTitle { get { return "WP8 Core Gallery"; } }
+ }
+
+#if PRE_APPLICATION_CLASS
+ public partial class MainPage : PhoneApplicationPage
+ {
+ public MainPage ()
+ {
+ InitializeComponent();
+
+ Forms.Init ();
+ FormsMaps.Init ();
+
+ Content = CoreGallery.GetMainPage ().ConvertPageToUIElement (this);
+
+ MessagingCenter.Subscribe<RootPagesGallery, Type>(this, Messages.ChangeRoot, (sender, pagetype) =>
+ {
+ var page = ((Page) Activator.CreateInstance(pagetype));
+ app.MainPage = page;
+ });
+
+ MessagingCenter.Subscribe<HomeButton>(this, Messages.GoHome, (sender) => {
+ var page = FormsApp.GetFormsApp ();
+ app.MainPage = page;
+ });
+ }
+ }
+
+#else
+ public partial class MainPage : FormsApplicationPage
+ {
+ // Constructor
+ public MainPage()
+ {
+ InitializeComponent();
+
+ Forms.Init ();
+ FormsMaps.Init ();
+
+ var app = new Controls.App ();
+
+ var mdp = app.MainPage as MasterDetailPage;
+
+ var detail = mdp?.Detail as NavigationPage;
+ if (detail != null) {
+ detail.Pushed += (sender, args) => {
+ var nncgPage = args.Page as NestedNativeControlGalleryPage;
+
+ if (nncgPage != null) {
+ AddNativeControls (nncgPage);
+ }
+ };
+ }
+
+ LoadApplication (app);
+ }
+
+ void AddNativeControls (NestedNativeControlGalleryPage page)
+ {
+ if (page.NativeControlsAdded) {
+ return;
+ }
+
+ StackLayout sl = page.Layout;
+
+ // Create and add a native TextBlock
+ var originalText = "I am a native TextBlock";
+ var textBlock = new TextBlock {
+ Text = originalText,
+ FontSize = 14,
+ FontFamily = new FontFamily ("HelveticaNeue")
+ };
+
+ sl?.Children.Add (textBlock);
+
+ // Create and add a native Button
+ var button = new System.Windows.Controls.Button { Content = "Click to toggle font size", Height = 80 };
+ button.Click += (sender, args) => { textBlock.FontSize = textBlock.FontSize == 14 ? 24 : 14; };
+
+ sl?.Children.Add (button.ToView ());
+
+ // Create a control which we know doesn't behave correctly with regard to measurement
+ var difficultControl = new BrokenNativeControl {
+ Text = "Not Sized/Arranged Properly"
+ };
+
+ var difficultControl2 = new BrokenNativeControl {
+ Text = "Fixed"
+ };
+
+ // Add the misbehaving controls, one with a custom delegate for ArrangeOverride
+ sl?.Children.Add (difficultControl);
+ sl?.Children.Add (difficultControl2,
+ arrangeOverrideDelegate: (renderer, finalSize) => {
+ if (finalSize.Width <= 0 || double.IsInfinity (finalSize.Width)) {
+ return null;
+ }
+
+ FrameworkElement frameworkElement = renderer.Control;
+
+ frameworkElement.Measure (finalSize);
+
+ // The broken control always sizes itself to be 600 wide
+ // We can re-center it by offsetting it during the Arrange call
+ double diff = (finalSize.Width - 600) / 2;
+ frameworkElement.Arrange (new Rect (diff, 0, finalSize.Width - diff, finalSize.Height));
+
+ // Arranging the control to the left will make it show up past the edge of the stack layout
+ // We can fix that by clipping it manually
+ var clip = new RectangleGeometry { Rect = new Rect (-diff, 0, finalSize.Width, finalSize.Height) };
+ frameworkElement.Clip = clip;
+
+ return finalSize;
+ }
+ );
+
+ page.NativeControlsAdded = true;
+ }
+ }
+#endif
+}
diff --git a/Xamarin.Forms.ControlGallery.WP8/Properties/AppManifest.xml b/Xamarin.Forms.ControlGallery.WP8/Properties/AppManifest.xml
new file mode 100644
index 00000000..6712a117
--- /dev/null
+++ b/Xamarin.Forms.ControlGallery.WP8/Properties/AppManifest.xml
@@ -0,0 +1,6 @@
+<Deployment xmlns="http://schemas.microsoft.com/client/2007/deployment"
+ xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
+>
+ <Deployment.Parts>
+ </Deployment.Parts>
+</Deployment>
diff --git a/Xamarin.Forms.ControlGallery.WP8/Properties/AssemblyInfo.cs b/Xamarin.Forms.ControlGallery.WP8/Properties/AssemblyInfo.cs
new file mode 100644
index 00000000..61dd07a6
--- /dev/null
+++ b/Xamarin.Forms.ControlGallery.WP8/Properties/AssemblyInfo.cs
@@ -0,0 +1,37 @@
+using System.Reflection;
+using System.Runtime.CompilerServices;
+using System.Runtime.InteropServices;
+using System.Resources;
+
+// General Information about an assembly is controlled through the following
+// set of attributes. Change these attribute values to modify the information
+// associated with an assembly.
+[assembly: AssemblyTitle("Xamarin.Forms.ControlGallery.WP8")]
+[assembly: AssemblyDescription("")]
+[assembly: AssemblyConfiguration("")]
+[assembly: AssemblyCompany("")]
+[assembly: AssemblyProduct("Xamarin.Forms.ControlGallery.WP8")]
+[assembly: AssemblyCopyright("Copyright © 2013")]
+[assembly: AssemblyTrademark("")]
+[assembly: AssemblyCulture("")]
+
+// Setting ComVisible to false makes the types in this assembly not visible
+// to COM components. If you need to access a type in this assembly from
+// COM, set the ComVisible attribute to true on that type.
+[assembly: ComVisible(false)]
+
+// The following GUID is for the ID of the typelib if this project is exposed to COM
+[assembly: Guid("07d20f12-3e95-48a2-b6af-dd223a0a4d3b")]
+
+// Version information for an assembly consists of the following four values:
+//
+// Major Version
+// Minor Version
+// Build Number
+// Revision
+//
+// You can specify all the values or you can default the Revision and Build Numbers
+// by using the '*' as shown below:
+[assembly: AssemblyVersion("1.0.0.0")]
+[assembly: AssemblyFileVersion("1.0.0.0")]
+[assembly: NeutralResourcesLanguageAttribute("en-US")]
diff --git a/Xamarin.Forms.ControlGallery.WP8/Properties/WMAppManifest.xml b/Xamarin.Forms.ControlGallery.WP8/Properties/WMAppManifest.xml
new file mode 100644
index 00000000..f19e02c3
--- /dev/null
+++ b/Xamarin.Forms.ControlGallery.WP8/Properties/WMAppManifest.xml
@@ -0,0 +1,46 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Deployment xmlns="http://schemas.microsoft.com/windowsphone/2012/deployment" AppPlatformVersion="8.0">
+ <DefaultLanguage xmlns="" code="en-US" />
+ <App xmlns="" ProductID="{67f3837c-c663-4668-9cd3-5e6c5abd59b8}" Title="Xamarin.Forms.ControlGallery.WP8" RuntimeType="Silverlight" Version="1.0.0.0" Genre="apps.normal" Author="Xamarin.Forms.ControlGallery.WP8 author" Description="Sample description" Publisher="Xamarin.Forms.ControlGallery.WP8" PublisherID="{9e07f47c-403b-44af-8078-487f1d249780}">
+ <IconPath IsRelative="true" IsResource="false">Assets\ApplicationIcon.png</IconPath>
+ <Capabilities>
+ <Capability Name="ID_CAP_NETWORKING" />
+ <Capability Name="ID_CAP_MEDIALIB_AUDIO" />
+ <Capability Name="ID_CAP_MEDIALIB_PLAYBACK" />
+ <Capability Name="ID_CAP_SENSORS" />
+ <Capability Name="ID_CAP_WEBBROWSERCOMPONENT" />
+ <Capability Name="ID_CAP_MAP" />
+ <Capability Name="ID_CAP_LOCATION" />
+ <Capability Name="ID_CAP_IDENTITY_DEVICE" />
+ <Capability Name="ID_CAP_IDENTITY_USER" />
+ </Capabilities>
+ <Tasks>
+ <DefaultTask Name="_default" NavigationPage="MainPage.xaml" />
+ </Tasks>
+ <Tokens>
+ <PrimaryToken TokenID="Xamarin.Forms.ControlGallery.WP8Token" TaskName="_default">
+ <TemplateFlip>
+ <SmallImageURI IsRelative="true" IsResource="false">Assets\Tiles\FlipCycleTileSmall.png</SmallImageURI>
+ <Count>0</Count>
+ <BackgroundImageURI IsRelative="true" IsResource="false">Assets\Tiles\FlipCycleTileMedium.png</BackgroundImageURI>
+ <Title>Xamarin.Forms.ControlGallery.WP8</Title>
+ <BackContent>
+ </BackContent>
+ <BackBackgroundImageURI>
+ </BackBackgroundImageURI>
+ <BackTitle>
+ </BackTitle>
+ <DeviceLockImageURI>
+ </DeviceLockImageURI>
+ <HasLarge>
+ </HasLarge>
+ </TemplateFlip>
+ </PrimaryToken>
+ </Tokens>
+ <ScreenResolutions>
+ <ScreenResolution Name="ID_RESOLUTION_WVGA" />
+ <ScreenResolution Name="ID_RESOLUTION_WXGA" />
+ <ScreenResolution Name="ID_RESOLUTION_HD720P" />
+ </ScreenResolutions>
+ </App>
+</Deployment> \ No newline at end of file
diff --git a/Xamarin.Forms.ControlGallery.WP8/Resources/AppResources.Designer.cs b/Xamarin.Forms.ControlGallery.WP8/Resources/AppResources.Designer.cs
new file mode 100644
index 00000000..59435e99
--- /dev/null
+++ b/Xamarin.Forms.ControlGallery.WP8/Resources/AppResources.Designer.cs
@@ -0,0 +1,127 @@
+//------------------------------------------------------------------------------
+// <auto-generated>
+// This code was generated by a tool.
+// Runtime Version:4.0.30319.17626
+//
+// Changes to this file may cause incorrect behavior and will be lost if
+// the code is regenerated.
+// </auto-generated>
+//------------------------------------------------------------------------------
+
+namespace Xamarin.Forms.ControlGallery.WP8.Resources
+{
+ using System;
+
+
+ /// <summary>
+ /// A strongly-typed resource class, for looking up localized strings, etc.
+ /// </summary>
+ // This class was auto-generated by the StronglyTypedResourceBuilder
+ // class via a tool like ResGen or Visual Studio.
+ // To add or remove a member, edit your .ResX file then rerun ResGen
+ // with the /str option, or rebuild your VS project.
+ [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "4.0.0.0")]
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+ [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
+ public class AppResources
+ {
+
+ private static global::System.Resources.ResourceManager resourceMan;
+
+ private static global::System.Globalization.CultureInfo resourceCulture;
+
+ [global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")]
+ internal AppResources()
+ {
+ }
+
+ /// <summary>
+ /// Returns the cached ResourceManager instance used by this class.
+ /// </summary>
+ [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
+ public static global::System.Resources.ResourceManager ResourceManager
+ {
+ get
+ {
+ if (object.ReferenceEquals(resourceMan, null))
+ {
+ global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("Xamarin.Forms.ControlGallery.WP8.Resources.AppResources", typeof(AppResources).Assembly);
+ resourceMan = temp;
+ }
+ return resourceMan;
+ }
+ }
+
+ /// <summary>
+ /// Overrides the current thread's CurrentUICulture property for all
+ /// resource lookups using this strongly typed resource class.
+ /// </summary>
+ [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
+ public static global::System.Globalization.CultureInfo Culture
+ {
+ get
+ {
+ return resourceCulture;
+ }
+ set
+ {
+ resourceCulture = value;
+ }
+ }
+
+ /// <summary>
+ /// Looks up a localized string similar to LeftToRight.
+ /// </summary>
+ public static string ResourceFlowDirection
+ {
+ get
+ {
+ return ResourceManager.GetString("ResourceFlowDirection", resourceCulture);
+ }
+ }
+
+ /// <summary>
+ /// Looks up a localized string similar to us-EN.
+ /// </summary>
+ public static string ResourceLanguage
+ {
+ get
+ {
+ return ResourceManager.GetString("ResourceLanguage", resourceCulture);
+ }
+ }
+
+ /// <summary>
+ /// Looks up a localized string similar to MY APPLICATION.
+ /// </summary>
+ public static string ApplicationTitle
+ {
+ get
+ {
+ return ResourceManager.GetString("ApplicationTitle", resourceCulture);
+ }
+ }
+
+ /// <summary>
+ /// Looks up a localized string similar to button.
+ /// </summary>
+ public static string AppBarButtonText
+ {
+ get
+ {
+ return ResourceManager.GetString("AppBarButtonText", resourceCulture);
+ }
+ }
+
+ /// <summary>
+ /// Looks up a localized string similar to menu item.
+ /// </summary>
+ public static string AppBarMenuItemText
+ {
+ get
+ {
+ return ResourceManager.GetString("AppBarMenuItemText", resourceCulture);
+ }
+ }
+ }
+} \ No newline at end of file
diff --git a/Xamarin.Forms.ControlGallery.WP8/Resources/AppResources.resx b/Xamarin.Forms.ControlGallery.WP8/Resources/AppResources.resx
new file mode 100644
index 00000000..569bf520
--- /dev/null
+++ b/Xamarin.Forms.ControlGallery.WP8/Resources/AppResources.resx
@@ -0,0 +1,137 @@
+<?xml version="1.0" encoding="utf-8"?>
+<root>
+ <!--
+ Microsoft ResX Schema
+
+ Version 2.0
+
+ The primary goals of this format is to allow a simple XML format
+ that is mostly human readable. The generation and parsing of the
+ various data types are done through the TypeConverter classes
+ associated with the data types.
+
+ Example:
+
+ ... ado.net/XML headers & schema ...
+ <resheader name="resmimetype">text/microsoft-resx</resheader>
+ <resheader name="version">2.0</resheader>
+ <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
+ <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
+ <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
+ <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
+ <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
+ <value>[base64 mime encoded serialized .NET Framework object]</value>
+ </data>
+ <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
+ <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
+ <comment>This is a comment</comment>
+ </data>
+
+ There are any number of "resheader" rows that contain simple
+ name/value pairs.
+
+ Each data row contains a name, and value. The row also contains a
+ type or mimetype. Type corresponds to a .NET class that support
+ text/value conversion through the TypeConverter architecture.
+ Classes that don't support this are serialized and stored with the
+ mimetype set.
+
+ The mimetype is used for serialized objects, and tells the
+ ResXResourceReader how to depersist the object. This is currently not
+ extensible. For a given mimetype the value must be set accordingly:
+
+ Note - application/x-microsoft.net.object.binary.base64 is the format
+ that the ResXResourceWriter will generate, however the reader can
+ read any of the formats listed below.
+
+ mimetype: application/x-microsoft.net.object.binary.base64
+ value : The object must be serialized with
+ : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
+ : and then encoded with base64 encoding.
+
+ mimetype: application/x-microsoft.net.object.soap.base64
+ value : The object must be serialized with
+ : System.Runtime.Serialization.Formatters.Soap.SoapFormatter
+ : and then encoded with base64 encoding.
+
+ mimetype: application/x-microsoft.net.object.bytearray.base64
+ value : The object must be serialized into a byte array
+ : using a System.ComponentModel.TypeConverter
+ : and then encoded with base64 encoding.
+ -->
+ <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
+ <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
+ <xsd:element name="root" msdata:IsDataSet="true">
+ <xsd:complexType>
+ <xsd:choice maxOccurs="unbounded">
+ <xsd:element name="metadata">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" />
+ </xsd:sequence>
+ <xsd:attribute name="name" use="required" type="xsd:string" />
+ <xsd:attribute name="type" type="xsd:string" />
+ <xsd:attribute name="mimetype" type="xsd:string" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="assembly">
+ <xsd:complexType>
+ <xsd:attribute name="alias" type="xsd:string" />
+ <xsd:attribute name="name" type="xsd:string" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="data">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
+ <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
+ <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="resheader">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" />
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:choice>
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:schema>
+ <resheader name="resmimetype">
+ <value>text/microsoft-resx</value>
+ </resheader>
+ <resheader name="version">
+ <value>2.0</value>
+ </resheader>
+ <resheader name="reader">
+ <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <resheader name="writer">
+ <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <data name="ResourceFlowDirection" xml:space="preserve">
+ <value>LeftToRight</value>
+ <comment>Controls the FlowDirection for all elements in the RootFrame. Set to the traditional direction of this resource file's language</comment>
+ </data>
+ <data name="ResourceLanguage" xml:space="preserve">
+ <value>en-US</value>
+ <comment>Controls the Language and ensures that the font for all elements in the RootFrame aligns with the app's language. Set to the language code of this resource file's language.</comment>
+ </data>
+ <data name="ApplicationTitle" xml:space="preserve">
+ <value>MY APPLICATION</value>
+ </data>
+ <data name="AppBarButtonText" xml:space="preserve">
+ <value>add</value>
+ </data>
+ <data name="AppBarMenuItemText" xml:space="preserve">
+ <value>Menu Item</value>
+ </data>
+</root>
diff --git a/Xamarin.Forms.ControlGallery.WP8/WebImages/XamarinLogo.png b/Xamarin.Forms.ControlGallery.WP8/WebImages/XamarinLogo.png
new file mode 100644
index 00000000..361e2782
--- /dev/null
+++ b/Xamarin.Forms.ControlGallery.WP8/WebImages/XamarinLogo.png
Binary files differ
diff --git a/Xamarin.Forms.ControlGallery.WP8/Xamarin.Forms.ControlGallery.WP8.csproj b/Xamarin.Forms.ControlGallery.WP8/Xamarin.Forms.ControlGallery.WP8.csproj
new file mode 100644
index 00000000..f6728fa2
--- /dev/null
+++ b/Xamarin.Forms.ControlGallery.WP8/Xamarin.Forms.ControlGallery.WP8.csproj
@@ -0,0 +1,258 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <ProductVersion>10.0.20506</ProductVersion>
+ <SchemaVersion>2.0</SchemaVersion>
+ <ProjectGuid>{67F3837C-C663-4668-9CD3-5E6C5ABD59B8}</ProjectGuid>
+ <ProjectTypeGuids>{C089C8C0-30E0-4E22-80C0-CE093F111A43};{fae04ec0-301f-11d3-bf4b-00c04f79efbc}</ProjectTypeGuids>
+ <OutputType>Library</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <RootNamespace>Xamarin.Forms.ControlGallery.WP8</RootNamespace>
+ <AssemblyName>Xamarin.Forms.ControlGallery.WP8</AssemblyName>
+ <TargetFrameworkIdentifier>WindowsPhone</TargetFrameworkIdentifier>
+ <TargetFrameworkVersion>v8.0</TargetFrameworkVersion>
+ <SilverlightVersion>$(TargetFrameworkVersion)</SilverlightVersion>
+ <SilverlightApplication>true</SilverlightApplication>
+ <SupportedCultures>
+ </SupportedCultures>
+ <XapOutputs>true</XapOutputs>
+ <GenerateSilverlightManifest>true</GenerateSilverlightManifest>
+ <XapFilename>Xamarin.Forms.ControlGallery.WP8_$(Configuration)_$(Platform).xap</XapFilename>
+ <SilverlightManifestTemplate>Properties\AppManifest.xml</SilverlightManifestTemplate>
+ <SilverlightAppEntry>Xamarin.Forms.ControlGallery.WP8.App</SilverlightAppEntry>
+ <ValidateXaml>true</ValidateXaml>
+ <MinimumVisualStudioVersion>11.0</MinimumVisualStudioVersion>
+ <ThrowErrorsInValidation>true</ThrowErrorsInValidation>
+ <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\</SolutionDir>
+ <RestorePackages>true</RestorePackages>
+ <NuGetPackageImportStamp>
+ </NuGetPackageImportStamp>
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ <DebugSymbols>true</DebugSymbols>
+ <DebugType>full</DebugType>
+ <Optimize>false</Optimize>
+ <OutputPath>Bin\Debug</OutputPath>
+ <DefineConstants>DEBUG;TRACE;SILVERLIGHT;WINDOWS_PHONE</DefineConstants>
+ <NoStdLib>true</NoStdLib>
+ <NoConfig>true</NoConfig>
+ <ErrorReport>prompt</ErrorReport>
+ <WarningLevel>4</WarningLevel>
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ <DebugType>pdbonly</DebugType>
+ <Optimize>true</Optimize>
+ <OutputPath>Bin\Release</OutputPath>
+ <DefineConstants>TRACE;SILVERLIGHT;WINDOWS_PHONE</DefineConstants>
+ <NoStdLib>true</NoStdLib>
+ <NoConfig>true</NoConfig>
+ <ErrorReport>prompt</ErrorReport>
+ <WarningLevel>4</WarningLevel>
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|x86' ">
+ <DebugSymbols>true</DebugSymbols>
+ <DebugType>full</DebugType>
+ <Optimize>false</Optimize>
+ <OutputPath>Bin\x86\Debug</OutputPath>
+ <DefineConstants>DEBUG;TRACE;SILVERLIGHT;WINDOWS_PHONE</DefineConstants>
+ <NoStdLib>true</NoStdLib>
+ <NoConfig>true</NoConfig>
+ <ErrorReport>prompt</ErrorReport>
+ <WarningLevel>4</WarningLevel>
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|x86' ">
+ <DebugType>pdbonly</DebugType>
+ <Optimize>true</Optimize>
+ <OutputPath>Bin\x86\Release</OutputPath>
+ <DefineConstants>TRACE;SILVERLIGHT;WINDOWS_PHONE</DefineConstants>
+ <NoStdLib>true</NoStdLib>
+ <NoConfig>true</NoConfig>
+ <ErrorReport>prompt</ErrorReport>
+ <WarningLevel>4</WarningLevel>
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|ARM' ">
+ <DebugSymbols>true</DebugSymbols>
+ <DebugType>full</DebugType>
+ <Optimize>false</Optimize>
+ <OutputPath>Bin\ARM\Debug</OutputPath>
+ <DefineConstants>DEBUG;TRACE;SILVERLIGHT;WINDOWS_PHONE</DefineConstants>
+ <NoStdLib>true</NoStdLib>
+ <NoConfig>true</NoConfig>
+ <ErrorReport>prompt</ErrorReport>
+ <WarningLevel>4</WarningLevel>
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|ARM' ">
+ <DebugType>pdbonly</DebugType>
+ <Optimize>true</Optimize>
+ <OutputPath>Bin\ARM\Release</OutputPath>
+ <DefineConstants>TRACE;SILVERLIGHT;WINDOWS_PHONE</DefineConstants>
+ <NoStdLib>true</NoStdLib>
+ <NoConfig>true</NoConfig>
+ <ErrorReport>prompt</ErrorReport>
+ <WarningLevel>4</WarningLevel>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Turkey|AnyCPU'">
+ <DebugSymbols>true</DebugSymbols>
+ <OutputPath>bin\Turkey\</OutputPath>
+ <DefineConstants>DEBUG;TRACE;SILVERLIGHT;WINDOWS_PHONE</DefineConstants>
+ <NoStdLib>true</NoStdLib>
+ <DebugType>full</DebugType>
+ <PlatformTarget>AnyCPU</PlatformTarget>
+ <ErrorReport>prompt</ErrorReport>
+ <CodeAnalysisRuleSet>MinimumRecommendedRules.ruleset</CodeAnalysisRuleSet>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Turkey|x86'">
+ <DebugSymbols>true</DebugSymbols>
+ <OutputPath>bin\x86\Turkey\</OutputPath>
+ <DefineConstants>DEBUG;TRACE;SILVERLIGHT;WINDOWS_PHONE</DefineConstants>
+ <NoStdLib>true</NoStdLib>
+ <DebugType>full</DebugType>
+ <PlatformTarget>AnyCPU</PlatformTarget>
+ <ErrorReport>prompt</ErrorReport>
+ <CodeAnalysisRuleSet>MinimumRecommendedRules.ruleset</CodeAnalysisRuleSet>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Turkey|ARM'">
+ <DebugSymbols>true</DebugSymbols>
+ <OutputPath>bin\ARM\Turkey\</OutputPath>
+ <DefineConstants>DEBUG;TRACE;SILVERLIGHT;WINDOWS_PHONE</DefineConstants>
+ <NoStdLib>true</NoStdLib>
+ <DebugType>full</DebugType>
+ <PlatformTarget>AnyCPU</PlatformTarget>
+ <ErrorReport>prompt</ErrorReport>
+ <CodeAnalysisRuleSet>MinimumRecommendedRules.ruleset</CodeAnalysisRuleSet>
+ </PropertyGroup>
+ <ItemGroup>
+ <Compile Include="App.xaml.cs">
+ <DependentUpon>App.xaml</DependentUpon>
+ </Compile>
+ <Compile Include="BrokenNativeControl.cs" />
+ <Compile Include="LocalizedStrings.cs" />
+ <Compile Include="MainPage.xaml.cs">
+ <DependentUpon>MainPage.xaml</DependentUpon>
+ </Compile>
+ <Compile Include="Properties\AssemblyInfo.cs" />
+ <Compile Include="Resources\AppResources.Designer.cs">
+ <AutoGen>True</AutoGen>
+ <DesignTime>True</DesignTime>
+ <DependentUpon>AppResources.resx</DependentUpon>
+ </Compile>
+ </ItemGroup>
+ <ItemGroup>
+ <ApplicationDefinition Include="App.xaml">
+ <SubType>Designer</SubType>
+ <Generator>MSBuild:Compile</Generator>
+ </ApplicationDefinition>
+ <Page Include="MainPage.xaml">
+ <SubType>Designer</SubType>
+ <Generator>MSBuild:Compile</Generator>
+ </Page>
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="app.config" />
+ <None Include="packages.config" />
+ <None Include="Properties\AppManifest.xml" />
+ <None Include="Properties\WMAppManifest.xml">
+ <SubType>Designer</SubType>
+ </None>
+ </ItemGroup>
+ <ItemGroup>
+ <Content Include="Assets\AlignmentGrid.png" />
+ <Content Include="Assets\ApplicationIcon.png">
+ <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
+ </Content>
+ <Content Include="Assets\Tiles\FlipCycleTileLarge.png">
+ <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
+ </Content>
+ <Content Include="Assets\Tiles\FlipCycleTileMedium.png">
+ <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
+ </Content>
+ <Content Include="Assets\Tiles\FlipCycleTileSmall.png">
+ <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
+ </Content>
+ <Content Include="Assets\Tiles\IconicTileMediumLarge.png">
+ <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
+ </Content>
+ <Content Include="Assets\Tiles\IconicTileSmall.png">
+ <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
+ </Content>
+ <Content Include="bank.png">
+ <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
+ </Content>
+ <Content Include="cover1.jpg">
+ <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
+ </Content>
+ <Content Include="cover1small.jpg" />
+ <Content Include="crimson.jpg" />
+ <Content Include="crimsonsmall.jpg" />
+ <Content Include="default.css" />
+ <Content Include="local.html" />
+ <Content Include="oasis.jpg" />
+ <Content Include="oasissmall.jpg" />
+ <Content Include="menuIcon.png" />
+ <Content Include="photo.jpg">
+ <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
+ </Content>
+ <Content Include="seth.png" />
+ <Content Include="toolbar_close.png" />
+ <Content Include="WebImages\XamarinLogo.png" />
+ </ItemGroup>
+ <ItemGroup>
+ <EmbeddedResource Include="Resources\AppResources.resx">
+ <Generator>PublicResXFileCodeGenerator</Generator>
+ <LastGenOutput>AppResources.Designer.cs</LastGenOutput>
+ </EmbeddedResource>
+ </ItemGroup>
+ <ItemGroup>
+ <ProjectReference Include="..\Stubs\Xamarin.Forms.Platform.WP8\Xamarin.Forms.Platform.WP8 %28Forwarders%29.csproj">
+ <Project>{483cdae7-4353-4ab2-9c20-145a9f148fad}</Project>
+ <Name>Xamarin.Forms.Platform.WP8 %28Forwarders%29</Name>
+ </ProjectReference>
+ <ProjectReference Include="..\Xamarin.Forms.Controls\Xamarin.Forms.Controls.csproj">
+ <Project>{CB9C96CE-125C-4A68-B6A1-C3FF1FBF93E1}</Project>
+ <Name>Xamarin.Forms.Controls</Name>
+ </ProjectReference>
+ <ProjectReference Include="..\Xamarin.Forms.Maps.WP8\Xamarin.Forms.Maps.WP8.csproj">
+ <Project>{9222D2B8-63A4-4A36-A80E-BC34F27E0951}</Project>
+ <Name>Xamarin.Forms.Maps.WP8</Name>
+ </ProjectReference>
+ <ProjectReference Include="..\Xamarin.Forms.Maps\Xamarin.Forms.Maps.csproj">
+ <Project>{7D13BAC2-C6A4-416A-B07E-C169B199E52B}</Project>
+ <Name>Xamarin.Forms.Maps</Name>
+ </ProjectReference>
+ <ProjectReference Include="..\Xamarin.Forms.Platform.WP8\Xamarin.Forms.Platform.WP8.csproj">
+ <Project>{517B6AE0-792B-4665-9376-5CA33E539181}</Project>
+ <Name>Xamarin.Forms.Platform.WP8</Name>
+ </ProjectReference>
+ <ProjectReference Include="..\Xamarin.Forms.Core\Xamarin.Forms.Core.csproj">
+ <Project>{57B8B73D-C3B5-4C42-869E-7B2F17D354AC}</Project>
+ <Name>Xamarin.Forms.Core</Name>
+ </ProjectReference>
+ </ItemGroup>
+ <ItemGroup>
+ <Reference Include="Xamarin.Insights, Version=1.11.0.0, Culture=neutral, processorArchitecture=MSIL">
+ <HintPath>..\packages\Xamarin.Insights.1.11.4\lib\WP80\Xamarin.Insights.dll</HintPath>
+ <Private>True</Private>
+ </Reference>
+ </ItemGroup>
+ <Import Project="$(MSBuildExtensionsPath)\Microsoft\$(TargetFrameworkIdentifier)\$(TargetFrameworkVersion)\Microsoft.$(TargetFrameworkIdentifier).$(TargetFrameworkVersion).Overrides.targets" />
+ <Import Project="$(MSBuildExtensionsPath)\Microsoft\$(TargetFrameworkIdentifier)\$(TargetFrameworkVersion)\Microsoft.$(TargetFrameworkIdentifier).CSharp.targets" />
+ <!-- To modify your build process, add your task inside one of the targets below and uncomment it.
+ Other similar extension points exist, see Microsoft.Common.targets.
+ <Target Name="BeforeBuild">
+ </Target>
+ <Target Name="AfterBuild">
+ </Target>
+ -->
+ <ProjectExtensions />
+ <Import Project="$(SolutionDir)\.nuget\NuGet.targets" Condition="Exists('$(SolutionDir)\.nuget\NuGet.targets')" />
+ <Target Name="EnsureNuGetPackageBuildImports" BeforeTargets="PrepareForBuild">
+ <PropertyGroup>
+ <ErrorText>This project references NuGet package(s) that are missing on this computer. Enable NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}.</ErrorText>
+ </PropertyGroup>
+ <Error Condition="!Exists('$(SolutionDir)\.nuget\NuGet.targets')" Text="$([System.String]::Format('$(ErrorText)', '$(SolutionDir)\.nuget\NuGet.targets'))" />
+ <Error Condition="!Exists('..\packages\Xamarin.Insights.1.11.4\build\WP80\Xamarin.Insights.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\Xamarin.Insights.1.11.4\build\WP80\Xamarin.Insights.targets'))" />
+ </Target>
+ <Import Project="..\packages\Xamarin.Insights.1.11.4\build\WP80\Xamarin.Insights.targets" Condition="Exists('..\packages\Xamarin.Insights.1.11.4\build\WP80\Xamarin.Insights.targets')" />
+</Project> \ No newline at end of file
diff --git a/Xamarin.Forms.ControlGallery.WP8/app.config b/Xamarin.Forms.ControlGallery.WP8/app.config
new file mode 100644
index 00000000..b1d2a5a3
--- /dev/null
+++ b/Xamarin.Forms.ControlGallery.WP8/app.config
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="utf-8"?>
+<configuration>
+ <runtime>
+ <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
+ <dependentAssembly>
+ <assemblyIdentity name="Mono.Cecil" publicKeyToken="0738eb9f132ed756" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-0.9.6.0" newVersion="0.9.6.0" />
+ </dependentAssembly>
+ </assemblyBinding>
+ </runtime>
+</configuration> \ No newline at end of file
diff --git a/Xamarin.Forms.ControlGallery.WP8/bank.png b/Xamarin.Forms.ControlGallery.WP8/bank.png
new file mode 100644
index 00000000..fbf2947e
--- /dev/null
+++ b/Xamarin.Forms.ControlGallery.WP8/bank.png
Binary files differ
diff --git a/Xamarin.Forms.ControlGallery.WP8/cover1.jpg b/Xamarin.Forms.ControlGallery.WP8/cover1.jpg
new file mode 100644
index 00000000..f2cea334
--- /dev/null
+++ b/Xamarin.Forms.ControlGallery.WP8/cover1.jpg
Binary files differ
diff --git a/Xamarin.Forms.ControlGallery.WP8/cover1small.jpg b/Xamarin.Forms.ControlGallery.WP8/cover1small.jpg
new file mode 100644
index 00000000..c820c471
--- /dev/null
+++ b/Xamarin.Forms.ControlGallery.WP8/cover1small.jpg
Binary files differ
diff --git a/Xamarin.Forms.ControlGallery.WP8/crimson.jpg b/Xamarin.Forms.ControlGallery.WP8/crimson.jpg
new file mode 100644
index 00000000..3db7bb21
--- /dev/null
+++ b/Xamarin.Forms.ControlGallery.WP8/crimson.jpg
Binary files differ
diff --git a/Xamarin.Forms.ControlGallery.WP8/crimsonsmall.jpg b/Xamarin.Forms.ControlGallery.WP8/crimsonsmall.jpg
new file mode 100644
index 00000000..426c5e07
--- /dev/null
+++ b/Xamarin.Forms.ControlGallery.WP8/crimsonsmall.jpg
Binary files differ
diff --git a/Xamarin.Forms.ControlGallery.WP8/default.css b/Xamarin.Forms.ControlGallery.WP8/default.css
new file mode 100644
index 00000000..9e32b419
--- /dev/null
+++ b/Xamarin.Forms.ControlGallery.WP8/default.css
@@ -0,0 +1,2 @@
+html,body{margin:0;padding:10}
+body,p,h1{font-family:Chalkduster;font-style: italic;} \ No newline at end of file
diff --git a/Xamarin.Forms.ControlGallery.WP8/local.html b/Xamarin.Forms.ControlGallery.WP8/local.html
new file mode 100644
index 00000000..b1998a12
--- /dev/null
+++ b/Xamarin.Forms.ControlGallery.WP8/local.html
@@ -0,0 +1,10 @@
+<html>
+<head>
+<link rel="stylesheet" href="default.css">
+</head>
+<body>
+<h1>Xamarin.Forms</h1>
+<p>This is a local iOS Html page</p>
+
+</body>
+</html> \ No newline at end of file
diff --git a/Xamarin.Forms.ControlGallery.WP8/menuIcon.png b/Xamarin.Forms.ControlGallery.WP8/menuIcon.png
new file mode 100644
index 00000000..0793dc7b
--- /dev/null
+++ b/Xamarin.Forms.ControlGallery.WP8/menuIcon.png
Binary files differ
diff --git a/Xamarin.Forms.ControlGallery.WP8/oasis.jpg b/Xamarin.Forms.ControlGallery.WP8/oasis.jpg
new file mode 100644
index 00000000..e0c15afc
--- /dev/null
+++ b/Xamarin.Forms.ControlGallery.WP8/oasis.jpg
Binary files differ
diff --git a/Xamarin.Forms.ControlGallery.WP8/oasissmall.jpg b/Xamarin.Forms.ControlGallery.WP8/oasissmall.jpg
new file mode 100644
index 00000000..f8d43821
--- /dev/null
+++ b/Xamarin.Forms.ControlGallery.WP8/oasissmall.jpg
Binary files differ
diff --git a/Xamarin.Forms.ControlGallery.WP8/packages.config b/Xamarin.Forms.ControlGallery.WP8/packages.config
new file mode 100644
index 00000000..aa654dda
--- /dev/null
+++ b/Xamarin.Forms.ControlGallery.WP8/packages.config
@@ -0,0 +1,4 @@
+<?xml version="1.0" encoding="utf-8"?>
+<packages>
+ <package id="Xamarin.Insights" version="1.11.4" targetFramework="wp8" />
+</packages> \ No newline at end of file
diff --git a/Xamarin.Forms.ControlGallery.WP8/photo.jpg b/Xamarin.Forms.ControlGallery.WP8/photo.jpg
new file mode 100644
index 00000000..07fd4b0a
--- /dev/null
+++ b/Xamarin.Forms.ControlGallery.WP8/photo.jpg
Binary files differ
diff --git a/Xamarin.Forms.ControlGallery.WP8/seth.png b/Xamarin.Forms.ControlGallery.WP8/seth.png
new file mode 100644
index 00000000..568360e8
--- /dev/null
+++ b/Xamarin.Forms.ControlGallery.WP8/seth.png
Binary files differ
diff --git a/Xamarin.Forms.ControlGallery.WP8/toolbar_close.png b/Xamarin.Forms.ControlGallery.WP8/toolbar_close.png
new file mode 100644
index 00000000..12f82abb
--- /dev/null
+++ b/Xamarin.Forms.ControlGallery.WP8/toolbar_close.png
Binary files differ