summaryrefslogtreecommitdiff
path: root/PagesGallery
diff options
context:
space:
mode:
authorJason Smith <jason.smith@xamarin.com>2016-04-24 12:25:26 -0400
committerRui Marinho <me@ruimarinho.net>2016-04-24 12:25:26 -0400
commit5907152c50ee2c658b266f2804e6b383bb15a6f1 (patch)
tree9beb907623359723456c5c03b08922bebc4f41f3 /PagesGallery
parentfeac1ba3ed6df5e27b3fa2076bd15c190cbacd1c (diff)
downloadxamarin-forms-5907152c50ee2c658b266f2804e6b383bb15a6f1.tar.gz
xamarin-forms-5907152c50ee2c658b266f2804e6b383bb15a6f1.tar.bz2
xamarin-forms-5907152c50ee2c658b266f2804e6b383bb15a6f1.zip
Evolve feature branch (#117)
* Initial import of evolve features * [Android] Add Xamarin.Forms.Platform.Android.AppLinks project * [iOS] Fix issues with c# 6 features on iOS AppLinks * Added naive stanza to update-docs-windows.bat to produce Pages docs. Not tested. (#69) * Update packages * Add AppLinks android nuspec and fix linker issues * Fix build * Fix nusepc * Fix nuspec * Update android support nugets to 23.2.1 * Update Xamarin.UITest * Add CardView * [iOS] Fix app link for CoreSpotlight * [Android] Update AppLinks android support libs * Add Newtonsoft.Json dependency to nuspec * Fix NRE when setting ControlTemplate to null * Move to ModernHttpClient for download * Try fix build * Preserve android app links * Fix margin issue * General coding and simple fixes
Diffstat (limited to 'PagesGallery')
-rw-r--r--PagesGallery/PagesGallery.Droid/Assets/AboutAssets.txt19
-rw-r--r--PagesGallery/PagesGallery.Droid/MainActivity.cs24
-rw-r--r--PagesGallery/PagesGallery.Droid/PagesGallery.Droid.csproj172
-rw-r--r--PagesGallery/PagesGallery.Droid/Properties/AndroidManifest.xml5
-rw-r--r--PagesGallery/PagesGallery.Droid/Properties/AssemblyInfo.cs34
-rw-r--r--PagesGallery/PagesGallery.Droid/Resources/AboutResources.txt50
-rw-r--r--PagesGallery/PagesGallery.Droid/Resources/drawable-hdpi/icon.pngbin0 -> 1431 bytes
-rw-r--r--PagesGallery/PagesGallery.Droid/Resources/drawable-xhdpi/icon.pngbin0 -> 1789 bytes
-rw-r--r--PagesGallery/PagesGallery.Droid/Resources/drawable-xxhdpi/icon.pngbin0 -> 2353 bytes
-rw-r--r--PagesGallery/PagesGallery.Droid/Resources/drawable/icon.pngbin0 -> 1431 bytes
-rw-r--r--PagesGallery/PagesGallery.Droid/Resources/layout/Tabbar.axml11
-rw-r--r--PagesGallery/PagesGallery.Droid/Resources/layout/Toolbar.axml8
-rw-r--r--PagesGallery/PagesGallery.Droid/Resources/values/styles.xml29
-rw-r--r--PagesGallery/PagesGallery.Droid/app.config11
-rw-r--r--PagesGallery/PagesGallery.Droid/packages.config12
-rw-r--r--PagesGallery/PagesGallery.UWP/App.xaml8
-rw-r--r--PagesGallery/PagesGallery.UWP/App.xaml.cs97
-rw-r--r--PagesGallery/PagesGallery.UWP/Assets/LockScreenLogo.scale-200.pngbin0 -> 1430 bytes
-rw-r--r--PagesGallery/PagesGallery.UWP/Assets/SplashScreen.scale-200.pngbin0 -> 7700 bytes
-rw-r--r--PagesGallery/PagesGallery.UWP/Assets/Square150x150Logo.scale-200.pngbin0 -> 2937 bytes
-rw-r--r--PagesGallery/PagesGallery.UWP/Assets/Square44x44Logo.scale-200.pngbin0 -> 1647 bytes
-rw-r--r--PagesGallery/PagesGallery.UWP/Assets/Square44x44Logo.targetsize-24_altform-unplated.pngbin0 -> 1255 bytes
-rw-r--r--PagesGallery/PagesGallery.UWP/Assets/StoreLogo.pngbin0 -> 1451 bytes
-rw-r--r--PagesGallery/PagesGallery.UWP/Assets/Wide310x150Logo.scale-200.pngbin0 -> 3204 bytes
-rw-r--r--PagesGallery/PagesGallery.UWP/MainPage.xaml14
-rw-r--r--PagesGallery/PagesGallery.UWP/MainPage.xaml.cs12
-rw-r--r--PagesGallery/PagesGallery.UWP/Package.appxmanifest49
-rw-r--r--PagesGallery/PagesGallery.UWP/PagesGallery.UWP.csproj163
-rw-r--r--PagesGallery/PagesGallery.UWP/Properties/AssemblyInfo.cs29
-rw-r--r--PagesGallery/PagesGallery.UWP/Properties/Default.rd.xml31
-rw-r--r--PagesGallery/PagesGallery.UWP/Windows_TemporaryKey.pfxbin0 -> 2450 bytes
-rw-r--r--PagesGallery/PagesGallery.UWP/project.json17
-rw-r--r--PagesGallery/PagesGallery.WinPhone/App.xaml7
-rw-r--r--PagesGallery/PagesGallery.WinPhone/App.xaml.cs127
-rw-r--r--PagesGallery/PagesGallery.WinPhone/Assets/Logo.scale-240.pngbin0 -> 2516 bytes
-rw-r--r--PagesGallery/PagesGallery.WinPhone/Assets/SmallLogo.scale-240.pngbin0 -> 753 bytes
-rw-r--r--PagesGallery/PagesGallery.WinPhone/Assets/SplashScreen.scale-240.pngbin0 -> 14715 bytes
-rw-r--r--PagesGallery/PagesGallery.WinPhone/Assets/Square71x71Logo.scale-240.pngbin0 -> 1122 bytes
-rw-r--r--PagesGallery/PagesGallery.WinPhone/Assets/StoreLogo.scale-240.pngbin0 -> 2200 bytes
-rw-r--r--PagesGallery/PagesGallery.WinPhone/Assets/WideLogo.scale-240.pngbin0 -> 4530 bytes
-rw-r--r--PagesGallery/PagesGallery.WinPhone/MainPage.xaml12
-rw-r--r--PagesGallery/PagesGallery.WinPhone/MainPage.xaml.cs50
-rw-r--r--PagesGallery/PagesGallery.WinPhone/Package.appxmanifest44
-rw-r--r--PagesGallery/PagesGallery.WinPhone/PagesGallery.WinPhone.csproj166
-rw-r--r--PagesGallery/PagesGallery.WinPhone/Properties/AssemblyInfo.cs29
-rw-r--r--PagesGallery/PagesGallery.WinPhone/packages.config4
-rw-r--r--PagesGallery/PagesGallery.Windows/App.xaml7
-rw-r--r--PagesGallery/PagesGallery.Windows/App.xaml.cs102
-rw-r--r--PagesGallery/PagesGallery.Windows/Assets/Logo.scale-100.pngbin0 -> 801 bytes
-rw-r--r--PagesGallery/PagesGallery.Windows/Assets/SmallLogo.scale-100.pngbin0 -> 329 bytes
-rw-r--r--PagesGallery/PagesGallery.Windows/Assets/SplashScreen.scale-100.pngbin0 -> 2146 bytes
-rw-r--r--PagesGallery/PagesGallery.Windows/Assets/StoreLogo.scale-100.pngbin0 -> 429 bytes
-rw-r--r--PagesGallery/PagesGallery.Windows/MainPage.xaml14
-rw-r--r--PagesGallery/PagesGallery.Windows/MainPage.xaml.cs27
-rw-r--r--PagesGallery/PagesGallery.Windows/Package.appxmanifest41
-rw-r--r--PagesGallery/PagesGallery.Windows/PagesGallery.Windows.csproj183
-rw-r--r--PagesGallery/PagesGallery.Windows/Properties/AssemblyInfo.cs29
-rw-r--r--PagesGallery/PagesGallery.Windows/Windows_TemporaryKey.pfxbin0 -> 2450 bytes
-rw-r--r--PagesGallery/PagesGallery.Windows/packages.config4
-rw-r--r--PagesGallery/PagesGallery.iOS/AppDelegate.cs29
-rw-r--r--PagesGallery/PagesGallery.iOS/Entitlements.plist7
-rw-r--r--PagesGallery/PagesGallery.iOS/Info.plist52
-rw-r--r--PagesGallery/PagesGallery.iOS/Main.cs15
-rw-r--r--PagesGallery/PagesGallery.iOS/PagesGallery.iOS.csproj160
-rw-r--r--PagesGallery/PagesGallery.iOS/Properties/AssemblyInfo.cs36
-rw-r--r--PagesGallery/PagesGallery.iOS/Resources/Default-568h@2x.pngbin0 -> 8884 bytes
-rw-r--r--PagesGallery/PagesGallery.iOS/Resources/Default-Portrait.pngbin0 -> 10710 bytes
-rw-r--r--PagesGallery/PagesGallery.iOS/Resources/Default-Portrait@2x.pngbin0 -> 34540 bytes
-rw-r--r--PagesGallery/PagesGallery.iOS/Resources/Default.pngbin0 -> 7243 bytes
-rw-r--r--PagesGallery/PagesGallery.iOS/Resources/Default@2x.pngbin0 -> 8368 bytes
-rw-r--r--PagesGallery/PagesGallery.iOS/Resources/Icon-60@2x.pngbin0 -> 1712 bytes
-rw-r--r--PagesGallery/PagesGallery.iOS/Resources/Icon-60@3x.pngbin0 -> 21641 bytes
-rw-r--r--PagesGallery/PagesGallery.iOS/Resources/Icon-76.pngbin0 -> 1200 bytes
-rw-r--r--PagesGallery/PagesGallery.iOS/Resources/Icon-76@2x.pngbin0 -> 2262 bytes
-rw-r--r--PagesGallery/PagesGallery.iOS/Resources/Icon-Small-40.pngbin0 -> 729 bytes
-rw-r--r--PagesGallery/PagesGallery.iOS/Resources/Icon-Small-40@2x.pngbin0 -> 1245 bytes
-rw-r--r--PagesGallery/PagesGallery.iOS/Resources/Icon-Small-40@3x.pngbin0 -> 12610 bytes
-rw-r--r--PagesGallery/PagesGallery.iOS/Resources/Icon-Small.pngbin0 -> 1144 bytes
-rw-r--r--PagesGallery/PagesGallery.iOS/Resources/Icon-Small@2x.pngbin0 -> 955 bytes
-rw-r--r--PagesGallery/PagesGallery.iOS/Resources/Icon-Small@3x.pngbin0 -> 7309 bytes
-rw-r--r--PagesGallery/PagesGallery.iOS/Resources/LaunchScreen.storyboard39
-rw-r--r--PagesGallery/PagesGallery.iOS/app.config11
-rw-r--r--PagesGallery/PagesGallery.iOS/iTunesArtworkbin0 -> 16867 bytes
-rw-r--r--PagesGallery/PagesGallery.iOS/iTunesArtwork@2xbin0 -> 20666 bytes
-rw-r--r--PagesGallery/PagesGallery.iOS/packages.config4
-rw-r--r--PagesGallery/PagesGallery/App.xaml74
-rw-r--r--PagesGallery/PagesGallery/App.xaml.cs42
-rw-r--r--PagesGallery/PagesGallery/CapitalizationConverter.cs20
-rw-r--r--PagesGallery/PagesGallery/EventsPage.xaml17
-rw-r--r--PagesGallery/PagesGallery/EventsPage.xaml.cs23
-rw-r--r--PagesGallery/PagesGallery/GettingStarted.Xamarin4
-rw-r--r--PagesGallery/PagesGallery/PagesGallery.csproj105
-rw-r--r--PagesGallery/PagesGallery/Properties/AssemblyInfo.cs30
-rw-r--r--PagesGallery/PagesGallery/SpeakersPage.xaml17
-rw-r--r--PagesGallery/PagesGallery/SpeakersPage.xaml.cs12
-rw-r--r--PagesGallery/PagesGallery/packages.config4
96 files changed, 2342 insertions, 0 deletions
diff --git a/PagesGallery/PagesGallery.Droid/Assets/AboutAssets.txt b/PagesGallery/PagesGallery.Droid/Assets/AboutAssets.txt
new file mode 100644
index 00000000..5ddf0872
--- /dev/null
+++ b/PagesGallery/PagesGallery.Droid/Assets/AboutAssets.txt
@@ -0,0 +1,19 @@
+Any raw assets you want to be deployed with your application can be placed in
+this directory (and child directories) and given a Build Action of "AndroidAsset".
+
+These files will be deployed with you package and will be accessible using Android's
+AssetManager, like this:
+
+public class ReadAsset : Activity
+{
+ protected override void OnCreate (Bundle bundle)
+ {
+ base.OnCreate (bundle);
+
+ InputStream input = Assets.Open ("my_asset.txt");
+ }
+}
+
+Additionally, some Android functions will automatically load asset files:
+
+Typeface tf = Typeface.CreateFromAsset (Context.Assets, "fonts/samplefont.ttf");
diff --git a/PagesGallery/PagesGallery.Droid/MainActivity.cs b/PagesGallery/PagesGallery.Droid/MainActivity.cs
new file mode 100644
index 00000000..b991250c
--- /dev/null
+++ b/PagesGallery/PagesGallery.Droid/MainActivity.cs
@@ -0,0 +1,24 @@
+using Android.App;
+using Android.Content.PM;
+using Android.OS;
+using Xamarin.Forms;
+using Xamarin.Forms.Platform.Android;
+
+namespace PagesGallery.Droid
+{
+ [Activity(Label = "PagesGallery", Theme = "@style/MyTheme", Icon = "@drawable/icon", MainLauncher = true,
+ ConfigurationChanges = ConfigChanges.ScreenSize | ConfigChanges.Orientation)]
+ public class MainActivity : FormsAppCompatActivity
+ {
+ protected override void OnCreate(Bundle bundle)
+ {
+ ToolbarResource = Resource.Layout.Toolbar;
+ TabLayoutResource = Resource.Layout.Tabbar;
+
+ base.OnCreate(bundle);
+
+ Forms.Init(this, bundle);
+ LoadApplication(new App());
+ }
+ }
+} \ No newline at end of file
diff --git a/PagesGallery/PagesGallery.Droid/PagesGallery.Droid.csproj b/PagesGallery/PagesGallery.Droid/PagesGallery.Droid.csproj
new file mode 100644
index 00000000..02e1434e
--- /dev/null
+++ b/PagesGallery/PagesGallery.Droid/PagesGallery.Droid.csproj
@@ -0,0 +1,172 @@
+<?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>8.0.30703</ProductVersion>
+ <SchemaVersion>2.0</SchemaVersion>
+ <ProjectGuid>{5EB6EB6B-A412-4F41-A89B-D7C9AAD237F2}</ProjectGuid>
+ <ProjectTypeGuids>{EFBA0AD7-5A72-4C68-AF49-83D382785DCF};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+ <OutputType>Library</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <RootNamespace>PagesGallery.Droid</RootNamespace>
+ <AssemblyName>PagesGallery.Droid</AssemblyName>
+ <FileAlignment>512</FileAlignment>
+ <AndroidApplication>true</AndroidApplication>
+ <AndroidResgenFile>Resources\Resource.Designer.cs</AndroidResgenFile>
+ <GenerateSerializationAssemblies>Off</GenerateSerializationAssemblies>
+ <AndroidManifest>Properties\AndroidManifest.xml</AndroidManifest>
+ <AndroidUseLatestPlatformSdk>true</AndroidUseLatestPlatformSdk>
+ <TargetFrameworkVersion>v6.0</TargetFrameworkVersion>
+ <AndroidSupportedAbis>armeabi,armeabi-v7a,x86</AndroidSupportedAbis>
+ <AndroidStoreUncompressedFileExtensions />
+ <MandroidI18n />
+ <JavaMaximumHeapSize />
+ <JavaOptions />
+ <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</DefineConstants>
+ <ErrorReport>prompt</ErrorReport>
+ <WarningLevel>4</WarningLevel>
+ <AndroidUseSharedRuntime>True</AndroidUseSharedRuntime>
+ <AndroidLinkMode>None</AndroidLinkMode>
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ <DebugType>pdbonly</DebugType>
+ <Optimize>true</Optimize>
+ <OutputPath>bin\Release\</OutputPath>
+ <DefineConstants>TRACE</DefineConstants>
+ <ErrorReport>prompt</ErrorReport>
+ <WarningLevel>4</WarningLevel>
+ <AndroidUseSharedRuntime>False</AndroidUseSharedRuntime>
+ <AndroidLinkMode>SdkOnly</AndroidLinkMode>
+ </PropertyGroup>
+ <ItemGroup>
+ <Reference Include="ModernHttpClient, Version=2.4.2.0, Culture=neutral, processorArchitecture=MSIL">
+ <HintPath>..\..\packages\modernhttpclient.2.4.2\lib\MonoAndroid\ModernHttpClient.dll</HintPath>
+ <Private>True</Private>
+ </Reference>
+ <Reference Include="Mono.Android" />
+ <Reference Include="mscorlib" />
+ <Reference Include="OkHttp, Version=1.0.0.0, Culture=neutral, processorArchitecture=MSIL">
+ <HintPath>..\..\packages\modernhttpclient.2.4.2\lib\MonoAndroid\OkHttp.dll</HintPath>
+ <Private>True</Private>
+ </Reference>
+ <Reference Include="System" />
+ <Reference Include="System.Core" />
+ <Reference Include="System.Xml.Linq" />
+ <Reference Include="System.Xml" />
+ <Reference Include="Xamarin.Android.Support.Animated.Vector.Drawable, Version=1.0.0.0, Culture=neutral, processorArchitecture=MSIL">
+ <HintPath>..\..\packages\Xamarin.Android.Support.Animated.Vector.Drawable.23.3.0\lib\MonoAndroid403\Xamarin.Android.Support.Animated.Vector.Drawable.dll</HintPath>
+ <Private>True</Private>
+ </Reference>
+ <Reference Include="Xamarin.Android.Support.Design, Version=1.0.0.0, Culture=neutral, processorArchitecture=MSIL">
+ <HintPath>..\..\packages\Xamarin.Android.Support.Design.23.3.0\lib\MonoAndroid43\Xamarin.Android.Support.Design.dll</HintPath>
+ <Private>True</Private>
+ </Reference>
+ <Reference Include="Xamarin.Android.Support.v4, Version=1.0.0.0, Culture=neutral, processorArchitecture=MSIL">
+ <HintPath>..\..\packages\Xamarin.Android.Support.v4.23.3.0\lib\MonoAndroid403\Xamarin.Android.Support.v4.dll</HintPath>
+ <Private>True</Private>
+ </Reference>
+ <Reference Include="Xamarin.Android.Support.v7.AppCompat, Version=1.0.0.0, Culture=neutral, processorArchitecture=MSIL">
+ <HintPath>..\..\packages\Xamarin.Android.Support.v7.AppCompat.23.3.0\lib\MonoAndroid403\Xamarin.Android.Support.v7.AppCompat.dll</HintPath>
+ <Private>True</Private>
+ </Reference>
+ <Reference Include="Xamarin.Android.Support.v7.CardView, Version=1.0.0.0, Culture=neutral, processorArchitecture=MSIL">
+ <HintPath>..\..\packages\Xamarin.Android.Support.v7.CardView.23.3.0\lib\MonoAndroid403\Xamarin.Android.Support.v7.CardView.dll</HintPath>
+ <Private>True</Private>
+ </Reference>
+ <Reference Include="Xamarin.Android.Support.v7.MediaRouter, Version=1.0.0.0, Culture=neutral, processorArchitecture=MSIL">
+ <HintPath>..\..\packages\Xamarin.Android.Support.v7.MediaRouter.23.3.0\lib\MonoAndroid403\Xamarin.Android.Support.v7.MediaRouter.dll</HintPath>
+ <Private>True</Private>
+ </Reference>
+ <Reference Include="Xamarin.Android.Support.v7.RecyclerView, Version=1.0.0.0, Culture=neutral, processorArchitecture=MSIL">
+ <HintPath>..\..\packages\Xamarin.Android.Support.v7.RecyclerView.23.3.0\lib\MonoAndroid403\Xamarin.Android.Support.v7.RecyclerView.dll</HintPath>
+ <Private>True</Private>
+ </Reference>
+ <Reference Include="Xamarin.Android.Support.Vector.Drawable, Version=1.0.0.0, Culture=neutral, processorArchitecture=MSIL">
+ <HintPath>..\..\packages\Xamarin.Android.Support.Vector.Drawable.23.3.0\lib\MonoAndroid403\Xamarin.Android.Support.Vector.Drawable.dll</HintPath>
+ <Private>True</Private>
+ </Reference>
+ </ItemGroup>
+ <ItemGroup>
+ <Compile Include="MainActivity.cs" />
+ <Compile Include="Resources\Resource.Designer.cs" />
+ <Compile Include="Properties\AssemblyInfo.cs" />
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="app.config" />
+ <None Include="packages.config" />
+ <None Include="Resources\AboutResources.txt" />
+ <None Include="Assets\AboutAssets.txt" />
+ <AndroidResource Include="Resources\layout\Tabbar.axml">
+ <SubType>Designer</SubType>
+ </AndroidResource>
+ <AndroidResource Include="Resources\layout\Toolbar.axml">
+ <SubType>Designer</SubType>
+ </AndroidResource>
+ </ItemGroup>
+ <ItemGroup>
+ <AndroidResource Include="Resources\drawable\icon.png" />
+ <AndroidResource Include="Resources\drawable-hdpi\icon.png" />
+ <AndroidResource Include="Resources\drawable-xhdpi\icon.png" />
+ <AndroidResource Include="Resources\drawable-xxhdpi\icon.png" />
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="Properties\AndroidManifest.xml" />
+ </ItemGroup>
+ <ItemGroup>
+ <ProjectReference Include="..\..\Stubs\Xamarin.Forms.Platform.Android\Xamarin.Forms.Platform.Android %28Forwarders%29.csproj">
+ <Project>{6e53feb1-1100-46ae-8013-17bba35cc197}</Project>
+ <Name>Xamarin.Forms.Platform.Android %28Forwarders%29</Name>
+ </ProjectReference>
+ <ProjectReference Include="..\..\Xamarin.Forms.Core\Xamarin.Forms.Core.csproj">
+ <Project>{57b8b73d-c3b5-4c42-869e-7b2f17d354ac}</Project>
+ <Name>Xamarin.Forms.Core</Name>
+ </ProjectReference>
+ <ProjectReference Include="..\..\Xamarin.Forms.Pages\Xamarin.Forms.Pages.csproj">
+ <Project>{d6133dbd-6c60-4bd5-bea2-07e0a3927c31}</Project>
+ <Name>Xamarin.Forms.Pages</Name>
+ </ProjectReference>
+ <ProjectReference Include="..\..\Xamarin.Forms.Platform.Android.FormsViewGroup\Xamarin.Forms.Platform.Android.FormsViewGroup.csproj">
+ <Project>{3b72465b-acae-43ae-9327-10f372fe5f80}</Project>
+ <Name>Xamarin.Forms.Platform.Android.FormsViewGroup</Name>
+ </ProjectReference>
+ <ProjectReference Include="..\..\Xamarin.Forms.Platform.Android\Xamarin.Forms.Platform.Android.csproj">
+ <Project>{0e16e70a-d6dd-4323-ad5d-363abff42d6a}</Project>
+ <Name>Xamarin.Forms.Platform.Android</Name>
+ </ProjectReference>
+ <ProjectReference Include="..\..\Xamarin.Forms.Xaml\Xamarin.Forms.Xaml.csproj">
+ <Project>{9db2f292-8034-4e06-89ad-98bbda4306b9}</Project>
+ <Name>Xamarin.Forms.Xaml</Name>
+ </ProjectReference>
+ <ProjectReference Include="..\PagesGallery\PagesGallery.csproj">
+ <Name>PagesGallery</Name>
+ </ProjectReference>
+ </ItemGroup>
+ <ItemGroup>
+ <AndroidResource Include="Resources\values\styles.xml" />
+ </ItemGroup>
+ <Import Project="$(MSBuildExtensionsPath)\Xamarin\Android\Xamarin.Android.CSharp.targets" />
+ <Import Project="..\..\.nuspec\Xamarin.Forms.targets" />
+ <Import Project="..\..\packages\Xamarin.Android.Support.Vector.Drawable.23.3.0\build\Xamarin.Android.Support.Vector.Drawable.targets" Condition="Exists('..\..\packages\Xamarin.Android.Support.Vector.Drawable.23.3.0\build\Xamarin.Android.Support.Vector.Drawable.targets')" />
+ <Target Name="EnsureNuGetPackageBuildImports" BeforeTargets="PrepareForBuild">
+ <PropertyGroup>
+ <ErrorText>This project references NuGet package(s) that are missing on this computer. Use 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('..\..\packages\Xamarin.Android.Support.Vector.Drawable.23.3.0\build\Xamarin.Android.Support.Vector.Drawable.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\..\packages\Xamarin.Android.Support.Vector.Drawable.23.3.0\build\Xamarin.Android.Support.Vector.Drawable.targets'))" />
+ </Target>
+ <!-- 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>
+ -->
+</Project> \ No newline at end of file
diff --git a/PagesGallery/PagesGallery.Droid/Properties/AndroidManifest.xml b/PagesGallery/PagesGallery.Droid/Properties/AndroidManifest.xml
new file mode 100644
index 00000000..1b619fc0
--- /dev/null
+++ b/PagesGallery/PagesGallery.Droid/Properties/AndroidManifest.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="utf-8"?>
+<manifest xmlns:android="http://schemas.android.com/apk/res/android">
+ <uses-sdk android:minSdkVersion="15" />
+ <application></application>
+</manifest>
diff --git a/PagesGallery/PagesGallery.Droid/Properties/AssemblyInfo.cs b/PagesGallery/PagesGallery.Droid/Properties/AssemblyInfo.cs
new file mode 100644
index 00000000..95627221
--- /dev/null
+++ b/PagesGallery/PagesGallery.Droid/Properties/AssemblyInfo.cs
@@ -0,0 +1,34 @@
+using System.Reflection;
+using System.Runtime.CompilerServices;
+using System.Runtime.InteropServices;
+using Android.App;
+
+// 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 ("PagesGallery.Droid")]
+[assembly: AssemblyDescription ("")]
+[assembly: AssemblyConfiguration ("")]
+[assembly: AssemblyCompany ("")]
+[assembly: AssemblyProduct ("PagesGallery.Droid")]
+[assembly: AssemblyCopyright ("Copyright © 2014")]
+[assembly: AssemblyTrademark ("")]
+[assembly: AssemblyCulture ("")]
+[assembly: ComVisible (false)]
+
+// 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 Build and Revision Numbers
+// by using the '*' as shown below:
+// [assembly: AssemblyVersion("1.0.*")]
+[assembly: AssemblyVersion ("1.0.0.0")]
+[assembly: AssemblyFileVersion ("1.0.0.0")]
+
+// Add some common permissions, these can be removed if not needed
+[assembly: UsesPermission (Android.Manifest.Permission.Internet)]
+[assembly: UsesPermission (Android.Manifest.Permission.WriteExternalStorage)]
diff --git a/PagesGallery/PagesGallery.Droid/Resources/AboutResources.txt b/PagesGallery/PagesGallery.Droid/Resources/AboutResources.txt
new file mode 100644
index 00000000..cb30f20b
--- /dev/null
+++ b/PagesGallery/PagesGallery.Droid/Resources/AboutResources.txt
@@ -0,0 +1,50 @@
+Images, layout descriptions, binary blobs and string dictionaries can be included
+in your application as resource files. Various Android APIs are designed to
+operate on the resource IDs instead of dealing with images, strings or binary blobs
+directly.
+
+For example, a sample Android app that contains a user interface layout (main.xml),
+an internationalization string table (strings.xml) and some icons (drawable-XXX/icon.png)
+would keep its resources in the "Resources" directory of the application:
+
+Resources/
+ drawable-hdpi/
+ icon.png
+
+ drawable-ldpi/
+ icon.png
+
+ drawable-mdpi/
+ icon.png
+
+ layout/
+ main.xml
+
+ values/
+ strings.xml
+
+In order to get the build system to recognize Android resources, set the build action to
+"AndroidResource". The native Android APIs do not operate directly with filenames, but
+instead operate on resource IDs. When you compile an Android application that uses resources,
+the build system will package the resources for distribution and generate a class called
+"Resource" that contains the tokens for each one of the resources included. For example,
+for the above Resources layout, this is what the Resource class would expose:
+
+public class Resource {
+ public class drawable {
+ public const int icon = 0x123;
+ }
+
+ public class layout {
+ public const int main = 0x456;
+ }
+
+ public class strings {
+ public const int first_string = 0xabc;
+ public const int second_string = 0xbcd;
+ }
+}
+
+You would then use R.drawable.icon to reference the drawable/icon.png file, or Resource.layout.main
+to reference the layout/main.xml file, or Resource.strings.first_string to reference the first
+string in the dictionary file values/strings.xml.
diff --git a/PagesGallery/PagesGallery.Droid/Resources/drawable-hdpi/icon.png b/PagesGallery/PagesGallery.Droid/Resources/drawable-hdpi/icon.png
new file mode 100644
index 00000000..964f110a
--- /dev/null
+++ b/PagesGallery/PagesGallery.Droid/Resources/drawable-hdpi/icon.png
Binary files differ
diff --git a/PagesGallery/PagesGallery.Droid/Resources/drawable-xhdpi/icon.png b/PagesGallery/PagesGallery.Droid/Resources/drawable-xhdpi/icon.png
new file mode 100644
index 00000000..3c01e60c
--- /dev/null
+++ b/PagesGallery/PagesGallery.Droid/Resources/drawable-xhdpi/icon.png
Binary files differ
diff --git a/PagesGallery/PagesGallery.Droid/Resources/drawable-xxhdpi/icon.png b/PagesGallery/PagesGallery.Droid/Resources/drawable-xxhdpi/icon.png
new file mode 100644
index 00000000..0d8c1c57
--- /dev/null
+++ b/PagesGallery/PagesGallery.Droid/Resources/drawable-xxhdpi/icon.png
Binary files differ
diff --git a/PagesGallery/PagesGallery.Droid/Resources/drawable/icon.png b/PagesGallery/PagesGallery.Droid/Resources/drawable/icon.png
new file mode 100644
index 00000000..b0ba7150
--- /dev/null
+++ b/PagesGallery/PagesGallery.Droid/Resources/drawable/icon.png
Binary files differ
diff --git a/PagesGallery/PagesGallery.Droid/Resources/layout/Tabbar.axml b/PagesGallery/PagesGallery.Droid/Resources/layout/Tabbar.axml
new file mode 100644
index 00000000..97cb27ad
--- /dev/null
+++ b/PagesGallery/PagesGallery.Droid/Resources/layout/Tabbar.axml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="utf-8"?>
+<android.support.design.widget.TabLayout xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:app="http://schemas.android.com/apk/res-auto"
+ android:id="@+id/sliding_tabs"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:background="?attr/colorPrimary"
+ android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar"
+ app:tabIndicatorColor="@android:color/white"
+ app:tabGravity="fill"
+ app:tabMode="fixed" /> \ No newline at end of file
diff --git a/PagesGallery/PagesGallery.Droid/Resources/layout/Toolbar.axml b/PagesGallery/PagesGallery.Droid/Resources/layout/Toolbar.axml
new file mode 100644
index 00000000..3a1989a8
--- /dev/null
+++ b/PagesGallery/PagesGallery.Droid/Resources/layout/Toolbar.axml
@@ -0,0 +1,8 @@
+<android.support.v7.widget.Toolbar
+ xmlns:android="http://schemas.android.com/apk/res/android"
+ android:id="@+id/toolbar"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:background="?attr/colorPrimary"
+ android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar"
+ android:popupTheme="@style/ThemeOverlay.AppCompat.Light" />
diff --git a/PagesGallery/PagesGallery.Droid/Resources/values/styles.xml b/PagesGallery/PagesGallery.Droid/Resources/values/styles.xml
new file mode 100644
index 00000000..68b5d73c
--- /dev/null
+++ b/PagesGallery/PagesGallery.Droid/Resources/values/styles.xml
@@ -0,0 +1,29 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<resources>
+ <style name="MyTheme" parent="MyTheme.Base">
+ </style>
+ <!-- Base theme applied no matter what API -->
+ <style name="MyTheme.Base" parent="Theme.AppCompat.Light.DarkActionBar">
+ <!--If you are using revision 22.1 please use just windowNoTitle. Without android:-->
+ <item name="windowNoTitle">true</item>
+ <!--We will be using the toolbar so no need to show ActionBar-->
+ <item name="windowActionBar">false</item>
+ <!-- Set theme colors from http://www.google.com/design/spec/style/color.html#color-color-palette-->
+ <!-- colorPrimary is used for the default action bar background -->
+ <item name="colorPrimary">#2196F3</item>
+ <!-- colorPrimaryDark is used for the status bar -->
+ <item name="colorPrimaryDark">#1976D2</item>
+ <!-- colorAccent is used as the default value for colorControlActivated
+ which is used to tint widgets -->
+ <item name="colorAccent">#FF4081</item>
+ <!-- You can also set colorControlNormal, colorControlActivated
+ colorControlHighlight and colorSwitchThumbNormal. -->
+ <item name="windowActionModeOverlay">true</item>
+
+ <item name="android:datePickerDialogTheme">@style/AppCompatDialogStyle</item>
+ </style>
+
+ <style name="AppCompatDialogStyle" parent="Theme.AppCompat.Light.Dialog">
+ <item name="colorAccent">#FF4081</item>
+ </style>
+</resources> \ No newline at end of file
diff --git a/PagesGallery/PagesGallery.Droid/app.config b/PagesGallery/PagesGallery.Droid/app.config
new file mode 100644
index 00000000..4dd3b43c
--- /dev/null
+++ b/PagesGallery/PagesGallery.Droid/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="System.Net.Http" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-1.5.0.0" newVersion="1.5.0.0" />
+ </dependentAssembly>
+ </assemblyBinding>
+ </runtime>
+</configuration> \ No newline at end of file
diff --git a/PagesGallery/PagesGallery.Droid/packages.config b/PagesGallery/PagesGallery.Droid/packages.config
new file mode 100644
index 00000000..b11a3746
--- /dev/null
+++ b/PagesGallery/PagesGallery.Droid/packages.config
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="utf-8"?>
+<packages>
+ <package id="modernhttpclient" version="2.4.2" targetFramework="monoandroid60" />
+ <package id="Xamarin.Android.Support.Animated.Vector.Drawable" version="23.3.0" targetFramework="monoandroid60" />
+ <package id="Xamarin.Android.Support.Design" version="23.3.0" targetFramework="monoandroid60" />
+ <package id="Xamarin.Android.Support.v4" version="23.3.0" targetFramework="monoandroid60" />
+ <package id="Xamarin.Android.Support.v7.AppCompat" version="23.3.0" targetFramework="monoandroid60" />
+ <package id="Xamarin.Android.Support.v7.CardView" version="23.3.0" targetFramework="monoandroid60" />
+ <package id="Xamarin.Android.Support.v7.MediaRouter" version="23.3.0" targetFramework="monoandroid60" />
+ <package id="Xamarin.Android.Support.v7.RecyclerView" version="23.3.0" targetFramework="monoandroid60" />
+ <package id="Xamarin.Android.Support.Vector.Drawable" version="23.3.0" targetFramework="monoandroid60" />
+</packages> \ No newline at end of file
diff --git a/PagesGallery/PagesGallery.UWP/App.xaml b/PagesGallery/PagesGallery.UWP/App.xaml
new file mode 100644
index 00000000..48c10160
--- /dev/null
+++ b/PagesGallery/PagesGallery.UWP/App.xaml
@@ -0,0 +1,8 @@
+<Application
+ x:Class="PagesGallery.UWP.App"
+ xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
+ xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
+ xmlns:local="using:PagesGallery.UWP"
+ RequestedTheme="Light">
+
+</Application>
diff --git a/PagesGallery/PagesGallery.UWP/App.xaml.cs b/PagesGallery/PagesGallery.UWP/App.xaml.cs
new file mode 100644
index 00000000..b6eecf87
--- /dev/null
+++ b/PagesGallery/PagesGallery.UWP/App.xaml.cs
@@ -0,0 +1,97 @@
+using System;
+using System.Diagnostics;
+using Windows.ApplicationModel;
+using Windows.ApplicationModel.Activation;
+using Windows.UI.Xaml;
+using Windows.UI.Xaml.Navigation;
+using Xamarin.Forms;
+using Application = Windows.UI.Xaml.Application;
+using Frame = Windows.UI.Xaml.Controls.Frame;
+
+namespace PagesGallery.UWP
+{
+ /// <summary>
+ /// Provides application-specific behavior to supplement the default Application class.
+ /// </summary>
+ partial class App : Application
+ {
+ /// <summary>
+ /// Initializes the singleton application object. This is the first line of authored code
+ /// executed, and as such is the logical equivalent of main() or WinMain().
+ /// </summary>
+ public App()
+ {
+ InitializeComponent();
+ Suspending += OnSuspending;
+ }
+
+ /// <summary>
+ /// Invoked when the application is launched normally by the end user. Other entry points
+ /// will be used such as when the application is launched to open a specific file.
+ /// </summary>
+ /// <param name="e">Details about the launch request and process.</param>
+ protected override void OnLaunched(LaunchActivatedEventArgs e)
+ {
+#if DEBUG
+ if (Debugger.IsAttached)
+ DebugSettings.EnableFrameRateCounter = true;
+#endif
+
+ var rootFrame = Window.Current.Content as Frame;
+
+ // Do not repeat app initialization when the Window already has content,
+ // just ensure that the window is active
+ if (rootFrame == null)
+ {
+ // Create a Frame to act as the navigation context and navigate to the first page
+ rootFrame = new Frame();
+
+ rootFrame.NavigationFailed += OnNavigationFailed;
+
+ Forms.Init(e);
+
+ if (e.PreviousExecutionState == ApplicationExecutionState.Terminated)
+ {
+ //TODO: Load state from previously suspended application
+ }
+
+ // Place the frame in the current Window
+ Window.Current.Content = rootFrame;
+ }
+
+ if (rootFrame.Content == null)
+ {
+ // When the navigation stack isn't restored navigate to the first page,
+ // configuring the new page by passing required information as a navigation
+ // parameter
+ rootFrame.Navigate(typeof (MainPage), e.Arguments);
+ }
+ // Ensure the current window is active
+ Window.Current.Activate();
+ }
+
+ /// <summary>
+ /// Invoked when Navigation to a certain page fails
+ /// </summary>
+ /// <param name="sender">The Frame which failed navigation</param>
+ /// <param name="e">Details about the navigation failure</param>
+ void OnNavigationFailed(object sender, NavigationFailedEventArgs e)
+ {
+ throw new Exception("Failed to load Page " + e.SourcePageType.FullName);
+ }
+
+ /// <summary>
+ /// Invoked when application execution is being suspended. Application state is saved
+ /// without knowing whether the application will be terminated or resumed with the contents
+ /// of memory still intact.
+ /// </summary>
+ /// <param name="sender">The source of the suspend request.</param>
+ /// <param name="e">Details about the suspend request.</param>
+ void OnSuspending(object sender, SuspendingEventArgs e)
+ {
+ var deferral = e.SuspendingOperation.GetDeferral();
+ //TODO: Save application state and stop any background activity
+ deferral.Complete();
+ }
+ }
+} \ No newline at end of file
diff --git a/PagesGallery/PagesGallery.UWP/Assets/LockScreenLogo.scale-200.png b/PagesGallery/PagesGallery.UWP/Assets/LockScreenLogo.scale-200.png
new file mode 100644
index 00000000..735f57ad
--- /dev/null
+++ b/PagesGallery/PagesGallery.UWP/Assets/LockScreenLogo.scale-200.png
Binary files differ
diff --git a/PagesGallery/PagesGallery.UWP/Assets/SplashScreen.scale-200.png b/PagesGallery/PagesGallery.UWP/Assets/SplashScreen.scale-200.png
new file mode 100644
index 00000000..023e7f1f
--- /dev/null
+++ b/PagesGallery/PagesGallery.UWP/Assets/SplashScreen.scale-200.png
Binary files differ
diff --git a/PagesGallery/PagesGallery.UWP/Assets/Square150x150Logo.scale-200.png b/PagesGallery/PagesGallery.UWP/Assets/Square150x150Logo.scale-200.png
new file mode 100644
index 00000000..af49fec1
--- /dev/null
+++ b/PagesGallery/PagesGallery.UWP/Assets/Square150x150Logo.scale-200.png
Binary files differ
diff --git a/PagesGallery/PagesGallery.UWP/Assets/Square44x44Logo.scale-200.png b/PagesGallery/PagesGallery.UWP/Assets/Square44x44Logo.scale-200.png
new file mode 100644
index 00000000..ce342a2e
--- /dev/null
+++ b/PagesGallery/PagesGallery.UWP/Assets/Square44x44Logo.scale-200.png
Binary files differ
diff --git a/PagesGallery/PagesGallery.UWP/Assets/Square44x44Logo.targetsize-24_altform-unplated.png b/PagesGallery/PagesGallery.UWP/Assets/Square44x44Logo.targetsize-24_altform-unplated.png
new file mode 100644
index 00000000..f6c02ce9
--- /dev/null
+++ b/PagesGallery/PagesGallery.UWP/Assets/Square44x44Logo.targetsize-24_altform-unplated.png
Binary files differ
diff --git a/PagesGallery/PagesGallery.UWP/Assets/StoreLogo.png b/PagesGallery/PagesGallery.UWP/Assets/StoreLogo.png
new file mode 100644
index 00000000..7385b56c
--- /dev/null
+++ b/PagesGallery/PagesGallery.UWP/Assets/StoreLogo.png
Binary files differ
diff --git a/PagesGallery/PagesGallery.UWP/Assets/Wide310x150Logo.scale-200.png b/PagesGallery/PagesGallery.UWP/Assets/Wide310x150Logo.scale-200.png
new file mode 100644
index 00000000..288995b3
--- /dev/null
+++ b/PagesGallery/PagesGallery.UWP/Assets/Wide310x150Logo.scale-200.png
Binary files differ
diff --git a/PagesGallery/PagesGallery.UWP/MainPage.xaml b/PagesGallery/PagesGallery.UWP/MainPage.xaml
new file mode 100644
index 00000000..a922248b
--- /dev/null
+++ b/PagesGallery/PagesGallery.UWP/MainPage.xaml
@@ -0,0 +1,14 @@
+<forms:WindowsPage
+ x:Class="PagesGallery.UWP.MainPage"
+ xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
+ xmlns:forms="using:Xamarin.Forms.Platform.UWP"
+ xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
+ xmlns:local="using:PagesGallery.UWP"
+ xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
+ xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
+ mc:Ignorable="d">
+
+ <Grid Background="{ThemeResource ApplicationPageBackgroundThemeBrush}">
+
+ </Grid>
+</forms:WindowsPage>
diff --git a/PagesGallery/PagesGallery.UWP/MainPage.xaml.cs b/PagesGallery/PagesGallery.UWP/MainPage.xaml.cs
new file mode 100644
index 00000000..ec4546ff
--- /dev/null
+++ b/PagesGallery/PagesGallery.UWP/MainPage.xaml.cs
@@ -0,0 +1,12 @@
+namespace PagesGallery.UWP
+{
+ public sealed partial class MainPage
+ {
+ public MainPage()
+ {
+ InitializeComponent();
+
+ LoadApplication(new PagesGallery.App());
+ }
+ }
+} \ No newline at end of file
diff --git a/PagesGallery/PagesGallery.UWP/Package.appxmanifest b/PagesGallery/PagesGallery.UWP/Package.appxmanifest
new file mode 100644
index 00000000..e50e6602
--- /dev/null
+++ b/PagesGallery/PagesGallery.UWP/Package.appxmanifest
@@ -0,0 +1,49 @@
+<?xml version="1.0" encoding="utf-8"?>
+
+<Package
+ xmlns="http://schemas.microsoft.com/appx/manifest/foundation/windows10"
+ xmlns:mp="http://schemas.microsoft.com/appx/2014/phone/manifest"
+ xmlns:uap="http://schemas.microsoft.com/appx/manifest/uap/windows10"
+ IgnorableNamespaces="uap mp">
+
+ <Identity
+ Name="f736c883-f105-4d30-a719-4bf328872f5e"
+ Publisher="CN=joaqu"
+ Version="1.0.0.0" />
+
+ <mp:PhoneIdentity PhoneProductId="f736c883-f105-4d30-a719-4bf328872f5e" PhonePublisherId="00000000-0000-0000-0000-000000000000"/>
+
+ <Properties>
+ <DisplayName>FPCL.WIndows</DisplayName>
+ <PublisherDisplayName>joaqu</PublisherDisplayName>
+ <Logo>Assets\StoreLogo.png</Logo>
+ </Properties>
+
+ <Dependencies>
+ <TargetDeviceFamily Name="Windows.Universal" MinVersion="10.0.0.0" MaxVersionTested="10.0.0.0" />
+ </Dependencies>
+
+ <Resources>
+ <Resource Language="x-generate"/>
+ </Resources>
+
+ <Applications>
+ <Application Id="App"
+ Executable="$targetnametoken$.exe"
+ EntryPoint="FPCL.WIndows.App">
+ <uap:VisualElements
+ DisplayName="FPCL.WIndows"
+ Square150x150Logo="Assets\Square150x150Logo.png"
+ Square44x44Logo="Assets\Square44x44Logo.png"
+ Description="FPCL.WIndows"
+ BackgroundColor="transparent">
+ <uap:DefaultTile Wide310x150Logo="Assets\Wide310x150Logo.png"/>
+ <uap:SplashScreen Image="Assets\SplashScreen.png" />
+ </uap:VisualElements>
+ </Application>
+ </Applications>
+
+ <Capabilities>
+ <Capability Name="internetClient" />
+ </Capabilities>
+</Package> \ No newline at end of file
diff --git a/PagesGallery/PagesGallery.UWP/PagesGallery.UWP.csproj b/PagesGallery/PagesGallery.UWP/PagesGallery.UWP.csproj
new file mode 100644
index 00000000..b72b6705
--- /dev/null
+++ b/PagesGallery/PagesGallery.UWP/PagesGallery.UWP.csproj
@@ -0,0 +1,163 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="14.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">x86</Platform>
+ <ProjectGuid>{95FEB8D4-D57E-4B96-A8D8-59D241C0501B}</ProjectGuid>
+ <OutputType>AppContainerExe</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <RootNamespace>PagesGallery.UWP</RootNamespace>
+ <AssemblyName>PagesGallery.UWP</AssemblyName>
+ <DefaultLanguage>en-US</DefaultLanguage>
+ <TargetPlatformIdentifier>UAP</TargetPlatformIdentifier>
+ <TargetPlatformVersion>10.0.10240.0</TargetPlatformVersion>
+ <TargetPlatformMinVersion>10.0.10240.0</TargetPlatformMinVersion>
+ <MinimumVisualStudioVersion>14</MinimumVisualStudioVersion>
+ <EnableDotNetNativeCompatibleProfile>true</EnableDotNetNativeCompatibleProfile>
+ <FileAlignment>512</FileAlignment>
+ <ProjectTypeGuids>{A5A43C5B-DE2A-4C0C-9213-0A381AF9435A};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+ <PackageCertificateKeyFile>Windows_TemporaryKey.pfx</PackageCertificateKeyFile>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Debug|ARM'">
+ <DebugSymbols>true</DebugSymbols>
+ <OutputPath>bin\ARM\Debug\</OutputPath>
+ <DefineConstants>DEBUG;TRACE;NETFX_CORE;WINDOWS_UWP</DefineConstants>
+ <NoWarn>;2008</NoWarn>
+ <DebugType>full</DebugType>
+ <PlatformTarget>ARM</PlatformTarget>
+ <UseVSHostingProcess>false</UseVSHostingProcess>
+ <ErrorReport>prompt</ErrorReport>
+ <Prefer32Bit>true</Prefer32Bit>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Release|ARM'">
+ <OutputPath>bin\ARM\Release\</OutputPath>
+ <DefineConstants>TRACE;NETFX_CORE;WINDOWS_UWP</DefineConstants>
+ <Optimize>true</Optimize>
+ <NoWarn>;2008</NoWarn>
+ <DebugType>pdbonly</DebugType>
+ <PlatformTarget>ARM</PlatformTarget>
+ <UseVSHostingProcess>false</UseVSHostingProcess>
+ <ErrorReport>prompt</ErrorReport>
+ <Prefer32Bit>true</Prefer32Bit>
+ <UseDotNetNativeToolchain>true</UseDotNetNativeToolchain>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Debug|x64'">
+ <DebugSymbols>true</DebugSymbols>
+ <OutputPath>bin\x64\Debug\</OutputPath>
+ <DefineConstants>DEBUG;TRACE;NETFX_CORE;WINDOWS_UWP</DefineConstants>
+ <NoWarn>;2008</NoWarn>
+ <DebugType>full</DebugType>
+ <PlatformTarget>x64</PlatformTarget>
+ <UseVSHostingProcess>false</UseVSHostingProcess>
+ <ErrorReport>prompt</ErrorReport>
+ <Prefer32Bit>true</Prefer32Bit>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Release|x64'">
+ <OutputPath>bin\x64\Release\</OutputPath>
+ <DefineConstants>TRACE;NETFX_CORE;WINDOWS_UWP</DefineConstants>
+ <Optimize>true</Optimize>
+ <NoWarn>;2008</NoWarn>
+ <DebugType>pdbonly</DebugType>
+ <PlatformTarget>x64</PlatformTarget>
+ <UseVSHostingProcess>false</UseVSHostingProcess>
+ <ErrorReport>prompt</ErrorReport>
+ <Prefer32Bit>true</Prefer32Bit>
+ <UseDotNetNativeToolchain>true</UseDotNetNativeToolchain>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Debug|x86'">
+ <DebugSymbols>true</DebugSymbols>
+ <OutputPath>bin\x86\Debug\</OutputPath>
+ <DefineConstants>DEBUG;TRACE;NETFX_CORE;WINDOWS_UWP</DefineConstants>
+ <NoWarn>;2008</NoWarn>
+ <DebugType>full</DebugType>
+ <PlatformTarget>x86</PlatformTarget>
+ <UseVSHostingProcess>false</UseVSHostingProcess>
+ <ErrorReport>prompt</ErrorReport>
+ <Prefer32Bit>true</Prefer32Bit>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Release|x86'">
+ <OutputPath>bin\x86\Release\</OutputPath>
+ <DefineConstants>TRACE;NETFX_CORE;WINDOWS_UWP</DefineConstants>
+ <Optimize>true</Optimize>
+ <NoWarn>;2008</NoWarn>
+ <DebugType>pdbonly</DebugType>
+ <PlatformTarget>x86</PlatformTarget>
+ <UseVSHostingProcess>false</UseVSHostingProcess>
+ <ErrorReport>prompt</ErrorReport>
+ <Prefer32Bit>true</Prefer32Bit>
+ <UseDotNetNativeToolchain>true</UseDotNetNativeToolchain>
+ </PropertyGroup>
+ <ItemGroup>
+ <!-- A reference to the entire .Net Framework and Windows SDK are automatically included -->
+ <None Include="project.json" />
+ </ItemGroup>
+ <ItemGroup>
+ <Compile Include="App.xaml.cs">
+ <DependentUpon>App.xaml</DependentUpon>
+ </Compile>
+ <Compile Include="MainPage.xaml.cs">
+ <DependentUpon>MainPage.xaml</DependentUpon>
+ </Compile>
+ <Compile Include="Properties\AssemblyInfo.cs" />
+ </ItemGroup>
+ <ItemGroup>
+ <AppxManifest Include="Package.appxmanifest">
+ <SubType>Designer</SubType>
+ </AppxManifest>
+ <None Include="Windows_TemporaryKey.pfx" />
+ </ItemGroup>
+ <ItemGroup>
+ <Content Include="Properties\Default.rd.xml" />
+ <Content Include="Assets\LockScreenLogo.scale-200.png" />
+ <Content Include="Assets\SplashScreen.scale-200.png" />
+ <Content Include="Assets\Square150x150Logo.scale-200.png" />
+ <Content Include="Assets\Square44x44Logo.scale-200.png" />
+ <Content Include="Assets\Square44x44Logo.targetsize-24_altform-unplated.png" />
+ <Content Include="Assets\StoreLogo.png" />
+ <Content Include="Assets\Wide310x150Logo.scale-200.png" />
+ </ItemGroup>
+ <ItemGroup>
+ <ApplicationDefinition Include="App.xaml">
+ <Generator>MSBuild:Compile</Generator>
+ <SubType>Designer</SubType>
+ </ApplicationDefinition>
+ <Page Include="MainPage.xaml">
+ <Generator>MSBuild:Compile</Generator>
+ <SubType>Designer</SubType>
+ </Page>
+ </ItemGroup>
+ <ItemGroup>
+ <ProjectReference Include="..\..\Xamarin.Forms.Core\Xamarin.Forms.Core.csproj">
+ <Project>{57b8b73d-c3b5-4c42-869e-7b2f17d354ac}</Project>
+ <Name>Xamarin.Forms.Core</Name>
+ </ProjectReference>
+ <ProjectReference Include="..\..\Xamarin.Forms.Pages\Xamarin.Forms.Pages.csproj">
+ <Project>{d6133dbd-6c60-4bd5-bea2-07e0a3927c31}</Project>
+ <Name>Xamarin.Forms.Pages</Name>
+ </ProjectReference>
+ <ProjectReference Include="..\..\Xamarin.Forms.Platform.UAP\Xamarin.Forms.Platform.UAP.csproj">
+ <Project>{00d8d049-ffaa-4759-8fc9-1eca30777f72}</Project>
+ <Name>Xamarin.Forms.Platform.UAP</Name>
+ </ProjectReference>
+ <ProjectReference Include="..\..\Xamarin.Forms.Xaml\Xamarin.Forms.Xaml.csproj">
+ <Project>{9db2f292-8034-4e06-89ad-98bbda4306b9}</Project>
+ <Name>Xamarin.Forms.Xaml</Name>
+ </ProjectReference>
+ <ProjectReference Include="..\PagesGallery\PagesGallery.csproj">
+ <Name>PagesGallery</Name>
+ </ProjectReference>
+ </ItemGroup>
+ <PropertyGroup Condition=" '$(VisualStudioVersion)' == '' or '$(VisualStudioVersion)' &lt; '14.0' ">
+ <VisualStudioVersion>14.0</VisualStudioVersion>
+ </PropertyGroup>
+ <Import Project="$(MSBuildExtensionsPath)\Microsoft\WindowsXaml\v$(VisualStudioVersion)\Microsoft.Windows.UI.Xaml.CSharp.targets" />
+ <Import Project="..\..\.nuspec\Xamarin.Forms.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>
+ -->
+</Project> \ No newline at end of file
diff --git a/PagesGallery/PagesGallery.UWP/Properties/AssemblyInfo.cs b/PagesGallery/PagesGallery.UWP/Properties/AssemblyInfo.cs
new file mode 100644
index 00000000..a0611778
--- /dev/null
+++ b/PagesGallery/PagesGallery.UWP/Properties/AssemblyInfo.cs
@@ -0,0 +1,29 @@
+using System.Reflection;
+using System.Runtime.CompilerServices;
+using System.Runtime.InteropServices;
+
+// 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 ("PagesGallery.UWP")]
+[assembly: AssemblyDescription ("")]
+[assembly: AssemblyConfiguration ("")]
+[assembly: AssemblyCompany ("")]
+[assembly: AssemblyProduct ("PagesGallery.UWP")]
+[assembly: AssemblyCopyright ("Copyright © 2015")]
+[assembly: AssemblyTrademark ("")]
+[assembly: AssemblyCulture ("")]
+
+// 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 Build and Revision Numbers
+// by using the '*' as shown below:
+// [assembly: AssemblyVersion("1.0.*")]
+[assembly: AssemblyVersion ("1.0.0.0")]
+[assembly: AssemblyFileVersion ("1.0.0.0")]
+[assembly: ComVisible (false)] \ No newline at end of file
diff --git a/PagesGallery/PagesGallery.UWP/Properties/Default.rd.xml b/PagesGallery/PagesGallery.UWP/Properties/Default.rd.xml
new file mode 100644
index 00000000..80a960ce
--- /dev/null
+++ b/PagesGallery/PagesGallery.UWP/Properties/Default.rd.xml
@@ -0,0 +1,31 @@
+<!--
+ This file contains Runtime Directives used by .NET Native. The defaults here are suitable for most
+ developers. However, you can modify these parameters to modify the behavior of the .NET Native
+ optimizer.
+
+ Runtime Directives are documented at http://go.microsoft.com/fwlink/?LinkID=391919
+
+ To fully enable reflection for App1.MyClass and all of its public/private members
+ <Type Name="App1.MyClass" Dynamic="Required All"/>
+
+ To enable dynamic creation of the specific instantiation of AppClass<T> over System.Int32
+ <TypeInstantiation Name="App1.AppClass" Arguments="System.Int32" Activate="Required Public" />
+
+ Using the Namespace directive to apply reflection policy to all the types in a particular namespace
+ <Namespace Name="DataClasses.ViewModels" Seralize="All" />
+-->
+
+<Directives xmlns="http://schemas.microsoft.com/netfx/2013/01/metadata">
+ <Application>
+ <!--
+ An Assembly element with Name="*Application*" applies to all assemblies in
+ the application package. The asterisks are not wildcards.
+ -->
+ <Assembly Name="*Application*" Dynamic="Required All" />
+
+
+ <!-- Add your application specific runtime directives here. -->
+
+
+ </Application>
+</Directives> \ No newline at end of file
diff --git a/PagesGallery/PagesGallery.UWP/Windows_TemporaryKey.pfx b/PagesGallery/PagesGallery.UWP/Windows_TemporaryKey.pfx
new file mode 100644
index 00000000..084f19a4
--- /dev/null
+++ b/PagesGallery/PagesGallery.UWP/Windows_TemporaryKey.pfx
Binary files differ
diff --git a/PagesGallery/PagesGallery.UWP/project.json b/PagesGallery/PagesGallery.UWP/project.json
new file mode 100644
index 00000000..226a07ce
--- /dev/null
+++ b/PagesGallery/PagesGallery.UWP/project.json
@@ -0,0 +1,17 @@
+{
+ "dependencies": {
+ "Microsoft.NETCore.UniversalWindowsPlatform": "5.0.0",
+ "modernhttpclient": "2.4.2"
+ },
+ "frameworks": {
+ "uap10.0": {}
+ },
+ "runtimes": {
+ "win10-arm": {},
+ "win10-arm-aot": {},
+ "win10-x86": {},
+ "win10-x86-aot": {},
+ "win10-x64": {},
+ "win10-x64-aot": {}
+ }
+} \ No newline at end of file
diff --git a/PagesGallery/PagesGallery.WinPhone/App.xaml b/PagesGallery/PagesGallery.WinPhone/App.xaml
new file mode 100644
index 00000000..1b6e49f3
--- /dev/null
+++ b/PagesGallery/PagesGallery.WinPhone/App.xaml
@@ -0,0 +1,7 @@
+<Application
+ x:Class="PagesGallery.WinPhone.App"
+ xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
+ xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
+ xmlns:local="using:PagesGallery.WinPhone">
+
+</Application>
diff --git a/PagesGallery/PagesGallery.WinPhone/App.xaml.cs b/PagesGallery/PagesGallery.WinPhone/App.xaml.cs
new file mode 100644
index 00000000..059fbf88
--- /dev/null
+++ b/PagesGallery/PagesGallery.WinPhone/App.xaml.cs
@@ -0,0 +1,127 @@
+using System;
+using System.Collections.Generic;
+using System.IO;
+using System.Linq;
+using System.Runtime.InteropServices.WindowsRuntime;
+using Windows.ApplicationModel;
+using Windows.ApplicationModel.Activation;
+using Windows.Foundation;
+using Windows.Foundation.Collections;
+using Windows.UI.Xaml;
+using Windows.UI.Xaml.Controls;
+using Windows.UI.Xaml.Controls.Primitives;
+using Windows.UI.Xaml.Data;
+using Windows.UI.Xaml.Input;
+using Windows.UI.Xaml.Media;
+using Windows.UI.Xaml.Media.Animation;
+using Windows.UI.Xaml.Navigation;
+
+// The Blank Application template is documented at http://go.microsoft.com/fwlink/?LinkId=234227
+
+namespace PagesGallery.WinPhone
+{
+ /// <summary>
+ /// Provides application-specific behavior to supplement the default Application class.
+ /// </summary>
+ public sealed partial class App : Application
+ {
+ private TransitionCollection transitions;
+
+ /// <summary>
+ /// Initializes the singleton application object. This is the first line of authored code
+ /// executed, and as such is the logical equivalent of main() or WinMain().
+ /// </summary>
+ public App ()
+ {
+ this.InitializeComponent ();
+ this.Suspending += this.OnSuspending;
+ }
+
+ /// <summary>
+ /// Invoked when the application is launched normally by the end user. Other entry points
+ /// will be used when the application is launched to open a specific file, to display
+ /// search results, and so forth.
+ /// </summary>
+ /// <param name="e">Details about the launch request and process.</param>
+ protected override void OnLaunched (LaunchActivatedEventArgs e)
+ {
+#if DEBUG
+ if (System.Diagnostics.Debugger.IsAttached)
+ {
+ this.DebugSettings.EnableFrameRateCounter = true;
+ }
+#endif
+
+ Frame rootFrame = Window.Current.Content as Frame;
+
+ // Do not repeat app initialization when the Window already has content,
+ // just ensure that the window is active
+ if (rootFrame == null) {
+ // Create a Frame to act as the navigation context and navigate to the first page
+ rootFrame = new Frame ();
+
+ // TODO: change this value to a cache size that is appropriate for your application
+ rootFrame.CacheSize = 1;
+
+ Xamarin.Forms.Forms.Init (e);
+
+ if (e.PreviousExecutionState == ApplicationExecutionState.Terminated) {
+ // TODO: Load state from previously suspended application
+ }
+
+ // Place the frame in the current Window
+ Window.Current.Content = rootFrame;
+ }
+
+ if (rootFrame.Content == null) {
+ // Removes the turnstile navigation for startup.
+ if (rootFrame.ContentTransitions != null) {
+ this.transitions = new TransitionCollection ();
+ foreach (var c in rootFrame.ContentTransitions) {
+ this.transitions.Add (c);
+ }
+ }
+
+ rootFrame.ContentTransitions = null;
+ rootFrame.Navigated += this.RootFrame_FirstNavigated;
+
+ // When the navigation stack isn't restored navigate to the first page,
+ // configuring the new page by passing required information as a navigation
+ // parameter
+ if (!rootFrame.Navigate (typeof (MainPage), e.Arguments)) {
+ throw new Exception ("Failed to create initial page");
+ }
+ }
+
+ // Ensure the current window is active
+ Window.Current.Activate ();
+ }
+
+ /// <summary>
+ /// Restores the content transitions after the app has launched.
+ /// </summary>
+ /// <param name="sender">The object where the handler is attached.</param>
+ /// <param name="e">Details about the navigation event.</param>
+ private void RootFrame_FirstNavigated (object sender, NavigationEventArgs e)
+ {
+ var rootFrame = sender as Frame;
+ rootFrame.ContentTransitions = this.transitions ?? new TransitionCollection () { new NavigationThemeTransition () };
+ rootFrame.Navigated -= this.RootFrame_FirstNavigated;
+ }
+
+ /// <summary>
+ /// Invoked when application execution is being suspended. Application state is saved
+ /// without knowing whether the application will be terminated or resumed with the contents
+ /// of memory still intact.
+ /// </summary>
+ /// <param name="sender">The source of the suspend request.</param>
+ /// <param name="e">Details about the suspend request.</param>
+ private void OnSuspending (object sender, SuspendingEventArgs e)
+ {
+ var deferral = e.SuspendingOperation.GetDeferral ();
+
+ // TODO: Save application state and stop any background activity
+ deferral.Complete ();
+ }
+ }
+} \ No newline at end of file
diff --git a/PagesGallery/PagesGallery.WinPhone/Assets/Logo.scale-240.png b/PagesGallery/PagesGallery.WinPhone/Assets/Logo.scale-240.png
new file mode 100644
index 00000000..76921ca9
--- /dev/null
+++ b/PagesGallery/PagesGallery.WinPhone/Assets/Logo.scale-240.png
Binary files differ
diff --git a/PagesGallery/PagesGallery.WinPhone/Assets/SmallLogo.scale-240.png b/PagesGallery/PagesGallery.WinPhone/Assets/SmallLogo.scale-240.png
new file mode 100644
index 00000000..31663012
--- /dev/null
+++ b/PagesGallery/PagesGallery.WinPhone/Assets/SmallLogo.scale-240.png
Binary files differ
diff --git a/PagesGallery/PagesGallery.WinPhone/Assets/SplashScreen.scale-240.png b/PagesGallery/PagesGallery.WinPhone/Assets/SplashScreen.scale-240.png
new file mode 100644
index 00000000..33f26b33
--- /dev/null
+++ b/PagesGallery/PagesGallery.WinPhone/Assets/SplashScreen.scale-240.png
Binary files differ
diff --git a/PagesGallery/PagesGallery.WinPhone/Assets/Square71x71Logo.scale-240.png b/PagesGallery/PagesGallery.WinPhone/Assets/Square71x71Logo.scale-240.png
new file mode 100644
index 00000000..cfa54bee
--- /dev/null
+++ b/PagesGallery/PagesGallery.WinPhone/Assets/Square71x71Logo.scale-240.png
Binary files differ
diff --git a/PagesGallery/PagesGallery.WinPhone/Assets/StoreLogo.scale-240.png b/PagesGallery/PagesGallery.WinPhone/Assets/StoreLogo.scale-240.png
new file mode 100644
index 00000000..47e084b5
--- /dev/null
+++ b/PagesGallery/PagesGallery.WinPhone/Assets/StoreLogo.scale-240.png
Binary files differ
diff --git a/PagesGallery/PagesGallery.WinPhone/Assets/WideLogo.scale-240.png b/PagesGallery/PagesGallery.WinPhone/Assets/WideLogo.scale-240.png
new file mode 100644
index 00000000..6249d29d
--- /dev/null
+++ b/PagesGallery/PagesGallery.WinPhone/Assets/WideLogo.scale-240.png
Binary files differ
diff --git a/PagesGallery/PagesGallery.WinPhone/MainPage.xaml b/PagesGallery/PagesGallery.WinPhone/MainPage.xaml
new file mode 100644
index 00000000..8ae3bc0a
--- /dev/null
+++ b/PagesGallery/PagesGallery.WinPhone/MainPage.xaml
@@ -0,0 +1,12 @@
+<forms:WindowsPhonePage
+ x:Class="PagesGallery.WinPhone.MainPage"
+ xmlns:forms="using:Xamarin.Forms.Platform.WinRT"
+ xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
+ xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
+ xmlns:local="using:PagesGallery.WinPhone"
+ xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
+ xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
+ mc:Ignorable="d"
+ Background="{ThemeResource ApplicationPageBackgroundThemeBrush}">
+
+</forms:WindowsPhonePage> \ No newline at end of file
diff --git a/PagesGallery/PagesGallery.WinPhone/MainPage.xaml.cs b/PagesGallery/PagesGallery.WinPhone/MainPage.xaml.cs
new file mode 100644
index 00000000..45fac898
--- /dev/null
+++ b/PagesGallery/PagesGallery.WinPhone/MainPage.xaml.cs
@@ -0,0 +1,50 @@
+using System;
+using System.Collections.Generic;
+using System.IO;
+using System.Linq;
+using System.Runtime.InteropServices.WindowsRuntime;
+using Windows.Foundation;
+using Windows.Foundation.Collections;
+using Windows.UI.Xaml;
+using Windows.UI.Xaml.Controls;
+using Windows.UI.Xaml.Controls.Primitives;
+using Windows.UI.Xaml.Data;
+using Windows.UI.Xaml.Input;
+using Windows.UI.Xaml.Media;
+using Windows.UI.Xaml.Navigation;
+
+// The Blank Page item template is documented at http://go.microsoft.com/fwlink/?LinkId=234238
+
+namespace PagesGallery.WinPhone
+{
+ /// <summary>
+ /// An empty page that can be used on its own or navigated to within a Frame.
+ /// </summary>
+ public sealed partial class MainPage
+ {
+ public MainPage ()
+ {
+ this.InitializeComponent ();
+
+ this.NavigationCacheMode = NavigationCacheMode.Required;
+
+ LoadApplication (new PagesGallery.App ());
+ }
+
+ /// <summary>
+ /// Invoked when this page is about to be displayed in a Frame.
+ /// </summary>
+ /// <param name="e">Event data that describes how this page was reached.
+ /// This parameter is typically used to configure the page.</param>
+ protected override void OnNavigatedTo (NavigationEventArgs e)
+ {
+ // TODO: Prepare page for display here.
+
+ // TODO: If your application contains multiple pages, ensure that you are
+ // handling the hardware Back button by registering for the
+ // Windows.Phone.UI.Input.HardwareButtons.BackPressed event.
+ // If you are using the NavigationHelper provided by some templates,
+ // this event is handled for you.
+ }
+ }
+}
diff --git a/PagesGallery/PagesGallery.WinPhone/Package.appxmanifest b/PagesGallery/PagesGallery.WinPhone/Package.appxmanifest
new file mode 100644
index 00000000..cdf2a6a3
--- /dev/null
+++ b/PagesGallery/PagesGallery.WinPhone/Package.appxmanifest
@@ -0,0 +1,44 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Package xmlns="http://schemas.microsoft.com/appx/2010/manifest" xmlns:m2="http://schemas.microsoft.com/appx/2013/manifest" xmlns:m3="http://schemas.microsoft.com/appx/2014/manifest" xmlns:mp="http://schemas.microsoft.com/appx/2014/phone/manifest">
+
+ <Identity Name="e8ebdf4c-1a3c-4b54-919a-429e98e93142"
+ Publisher="CN=joaqu"
+ Version="1.0.0.0" />
+
+ <mp:PhoneIdentity PhoneProductId="e8ebdf4c-1a3c-4b54-919a-429e98e93142" PhonePublisherId="00000000-0000-0000-0000-000000000000"/>
+
+ <Properties>
+ <DisplayName>FPCL.Windows8.WindowsPhone</DisplayName>
+ <PublisherDisplayName>joaqu</PublisherDisplayName>
+ <Logo>Assets\StoreLogo.png</Logo>
+ </Properties>
+
+ <Prerequisites>
+ <OSMinVersion>6.3.1</OSMinVersion>
+ <OSMaxVersionTested>6.3.1</OSMaxVersionTested>
+ </Prerequisites>
+
+ <Resources>
+ <Resource Language="x-generate"/>
+ </Resources>
+
+ <Applications>
+ <Application Id="App"
+ Executable="$targetnametoken$.exe"
+ EntryPoint="FPCL.Windows8.WindowsPhone.App">
+ <m3:VisualElements
+ DisplayName="FPCL.Windows8.WindowsPhone"
+ Square150x150Logo="Assets\Logo.png"
+ Square44x44Logo="Assets\SmallLogo.png"
+ Description="FPCL.Windows8.WindowsPhone"
+ ForegroundText="light"
+ BackgroundColor="transparent">
+ <m3:DefaultTile Wide310x150Logo="Assets\WideLogo.png" Square71x71Logo="Assets\Square71x71Logo.png"/>
+ <m3:SplashScreen Image="Assets\SplashScreen.png"/>
+ </m3:VisualElements>
+ </Application>
+ </Applications>
+ <Capabilities>
+ <Capability Name="internetClientServer" />
+ </Capabilities>
+</Package> \ No newline at end of file
diff --git a/PagesGallery/PagesGallery.WinPhone/PagesGallery.WinPhone.csproj b/PagesGallery/PagesGallery.WinPhone/PagesGallery.WinPhone.csproj
new file mode 100644
index 00000000..0adad426
--- /dev/null
+++ b/PagesGallery/PagesGallery.WinPhone/PagesGallery.WinPhone.csproj
@@ -0,0 +1,166 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="14.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <ProjectGuid>{5AE58797-E40C-4EC3-836E-7DA2EF1B3180}</ProjectGuid>
+ <OutputType>AppContainerExe</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <RootNamespace>PagesGallery.WinPhone</RootNamespace>
+ <AssemblyName>PagesGallery.WinPhone</AssemblyName>
+ <DefaultLanguage>en-US</DefaultLanguage>
+ <TargetPlatformVersion>8.1</TargetPlatformVersion>
+ <MinimumVisualStudioVersion>12</MinimumVisualStudioVersion>
+ <FileAlignment>512</FileAlignment>
+ <ProjectTypeGuids>{76F1466A-8B6D-4E39-A767-685A06062A39};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+ <SynthesizeLinkMetadata>true</SynthesizeLinkMetadata>
+ <NuGetPackageImportStamp>
+ </NuGetPackageImportStamp>
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ <PlatformTarget>AnyCPU</PlatformTarget>
+ <DebugSymbols>true</DebugSymbols>
+ <DebugType>full</DebugType>
+ <Optimize>false</Optimize>
+ <OutputPath>bin\Debug\</OutputPath>
+ <DefineConstants>DEBUG;TRACE;NETFX_CORE;WINDOWS_PHONE_APP</DefineConstants>
+ <ErrorReport>prompt</ErrorReport>
+ <WarningLevel>4</WarningLevel>
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ <PlatformTarget>AnyCPU</PlatformTarget>
+ <DebugType>pdbonly</DebugType>
+ <Optimize>true</Optimize>
+ <OutputPath>bin\Release\</OutputPath>
+ <DefineConstants>TRACE;NETFX_CORE;WINDOWS_PHONE_APP</DefineConstants>
+ <ErrorReport>prompt</ErrorReport>
+ <WarningLevel>4</WarningLevel>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Debug|ARM'">
+ <DebugSymbols>true</DebugSymbols>
+ <OutputPath>bin\ARM\Debug\</OutputPath>
+ <DefineConstants>DEBUG;TRACE;NETFX_CORE;WINDOWS_PHONE_APP</DefineConstants>
+ <NoWarn>;2008</NoWarn>
+ <DebugType>full</DebugType>
+ <PlatformTarget>ARM</PlatformTarget>
+ <UseVSHostingProcess>false</UseVSHostingProcess>
+ <ErrorReport>prompt</ErrorReport>
+ <Prefer32Bit>true</Prefer32Bit>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Release|ARM'">
+ <OutputPath>bin\ARM\Release\</OutputPath>
+ <DefineConstants>TRACE;NETFX_CORE;WINDOWS_PHONE_APP</DefineConstants>
+ <Optimize>true</Optimize>
+ <NoWarn>;2008</NoWarn>
+ <DebugType>pdbonly</DebugType>
+ <PlatformTarget>ARM</PlatformTarget>
+ <UseVSHostingProcess>false</UseVSHostingProcess>
+ <ErrorReport>prompt</ErrorReport>
+ <Prefer32Bit>true</Prefer32Bit>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Debug|x86'">
+ <DebugSymbols>true</DebugSymbols>
+ <OutputPath>bin\x86\Debug\</OutputPath>
+ <DefineConstants>DEBUG;TRACE;NETFX_CORE;WINDOWS_PHONE_APP</DefineConstants>
+ <NoWarn>;2008</NoWarn>
+ <DebugType>full</DebugType>
+ <PlatformTarget>x86</PlatformTarget>
+ <UseVSHostingProcess>false</UseVSHostingProcess>
+ <ErrorReport>prompt</ErrorReport>
+ <Prefer32Bit>true</Prefer32Bit>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Release|x86'">
+ <OutputPath>bin\x86\Release\</OutputPath>
+ <DefineConstants>TRACE;NETFX_CORE;WINDOWS_PHONE_APP</DefineConstants>
+ <Optimize>true</Optimize>
+ <NoWarn>;2008</NoWarn>
+ <DebugType>pdbonly</DebugType>
+ <PlatformTarget>x86</PlatformTarget>
+ <UseVSHostingProcess>false</UseVSHostingProcess>
+ <ErrorReport>prompt</ErrorReport>
+ <Prefer32Bit>true</Prefer32Bit>
+ </PropertyGroup>
+ <ItemGroup>
+ <Compile Include="App.xaml.cs">
+ <DependentUpon>App.xaml</DependentUpon>
+ </Compile>
+ <Compile Include="MainPage.xaml.cs">
+ <DependentUpon>MainPage.xaml</DependentUpon>
+ </Compile>
+ <Compile Include="Properties\AssemblyInfo.cs" />
+ </ItemGroup>
+ <ItemGroup>
+ <AppxManifest Include="Package.appxmanifest">
+ <SubType>Designer</SubType>
+ </AppxManifest>
+ </ItemGroup>
+ <ItemGroup>
+ <Content Include="Assets\Logo.scale-240.png" />
+ <Content Include="Assets\SmallLogo.scale-240.png" />
+ <Content Include="Assets\SplashScreen.scale-240.png" />
+ <Content Include="Assets\Square71x71Logo.scale-240.png" />
+ <Content Include="Assets\StoreLogo.scale-240.png" />
+ <Content Include="Assets\WideLogo.scale-240.png" />
+ </ItemGroup>
+ <ItemGroup>
+ <ApplicationDefinition Include="App.xaml">
+ <SubType>Designer</SubType>
+ </ApplicationDefinition>
+ <Page Include="MainPage.xaml">
+ <Generator>MSBuild:Compile</Generator>
+ <SubType>Designer</SubType>
+ </Page>
+ </ItemGroup>
+ <ItemGroup>
+ <ProjectReference Include="..\PagesGallery\PagesGallery.csproj">
+ <Name>PagesGallery</Name>
+ </ProjectReference>
+ </ItemGroup>
+ <ItemGroup>
+ <Reference Include="Xamarin.Forms.Core, Version=2.0.0.0, Culture=neutral, processorArchitecture=MSIL">
+ <HintPath>..\..\packages\Xamarin.Forms.2.0.0.6482\lib\wpa81\Xamarin.Forms.Core.dll</HintPath>
+ <Private>True</Private>
+ </Reference>
+ <Reference Include="Xamarin.Forms.Platform, Version=1.0.0.0, Culture=neutral, processorArchitecture=MSIL">
+ <HintPath>..\..\packages\Xamarin.Forms.2.0.0.6482\lib\wpa81\Xamarin.Forms.Platform.dll</HintPath>
+ <Private>True</Private>
+ </Reference>
+ <Reference Include="Xamarin.Forms.Platform.WinRT, Version=2.0.0.0, Culture=neutral, processorArchitecture=MSIL">
+ <HintPath>..\..\packages\Xamarin.Forms.2.0.0.6482\lib\wpa81\Xamarin.Forms.Platform.WinRT.dll</HintPath>
+ <Private>True</Private>
+ </Reference>
+ <Reference Include="Xamarin.Forms.Platform.WinRT.Phone, Version=2.0.0.0, Culture=neutral, processorArchitecture=MSIL">
+ <HintPath>..\..\packages\Xamarin.Forms.2.0.0.6482\lib\wpa81\Xamarin.Forms.Platform.WinRT.Phone.dll</HintPath>
+ <Private>True</Private>
+ </Reference>
+ <Reference Include="Xamarin.Forms.Xaml, Version=2.0.0.0, Culture=neutral, processorArchitecture=MSIL">
+ <HintPath>..\..\packages\Xamarin.Forms.2.0.0.6482\lib\wpa81\Xamarin.Forms.Xaml.dll</HintPath>
+ <Private>True</Private>
+ </Reference>
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="packages.config" />
+ </ItemGroup>
+ <PropertyGroup Condition=" '$(VisualStudioVersion)' == '' or '$(VisualStudioVersion)' &lt; '12.0' ">
+ <VisualStudioVersion>12.0</VisualStudioVersion>
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(TargetPlatformIdentifier)' == '' ">
+ <TargetPlatformIdentifier>WindowsPhoneApp</TargetPlatformIdentifier>
+ </PropertyGroup>
+ <Import Project="$(MSBuildExtensionsPath)\Microsoft\WindowsXaml\v$(VisualStudioVersion)\Microsoft.Windows.UI.Xaml.CSharp.targets" />
+ <Import Project="..\..\packages\Xamarin.Forms.2.0.0.6482\build\portable-win+net45+wp80+win81+wpa81+MonoAndroid10+MonoTouch10+Xamarin.iOS10\Xamarin.Forms.targets" Condition="Exists('..\..\packages\Xamarin.Forms.2.0.0.6482\build\portable-win+net45+wp80+win81+wpa81+MonoAndroid10+MonoTouch10+Xamarin.iOS10\Xamarin.Forms.targets')" />
+ <Target Name="EnsureNuGetPackageBuildImports" BeforeTargets="PrepareForBuild">
+ <PropertyGroup>
+ <ErrorText>This project references NuGet package(s) that are missing on this computer. Use 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('..\..\packages\Xamarin.Forms.2.0.0.6482\build\portable-win+net45+wp80+win81+wpa81+MonoAndroid10+MonoTouch10+Xamarin.iOS10\Xamarin.Forms.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\..\packages\Xamarin.Forms.2.0.0.6482\build\portable-win+net45+wp80+win81+wpa81+MonoAndroid10+MonoTouch10+Xamarin.iOS10\Xamarin.Forms.targets'))" />
+ </Target>
+ <!-- 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>
+ -->
+</Project> \ No newline at end of file
diff --git a/PagesGallery/PagesGallery.WinPhone/Properties/AssemblyInfo.cs b/PagesGallery/PagesGallery.WinPhone/Properties/AssemblyInfo.cs
new file mode 100644
index 00000000..f1a4f4ef
--- /dev/null
+++ b/PagesGallery/PagesGallery.WinPhone/Properties/AssemblyInfo.cs
@@ -0,0 +1,29 @@
+using System.Reflection;
+using System.Runtime.CompilerServices;
+using System.Runtime.InteropServices;
+
+// 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 ("PagesGallery.WinPhone.WindowsPhone")]
+[assembly: AssemblyDescription ("")]
+[assembly: AssemblyConfiguration ("")]
+[assembly: AssemblyCompany ("")]
+[assembly: AssemblyProduct ("PagesGallery.WinPhone.WindowsPhone")]
+[assembly: AssemblyCopyright ("Copyright © 2015")]
+[assembly: AssemblyTrademark ("")]
+[assembly: AssemblyCulture ("")]
+
+// 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 Build and Revision Numbers
+// by using the '*' as shown below:
+// [assembly: AssemblyVersion("1.0.*")]
+[assembly: AssemblyVersion ("1.0.0.0")]
+[assembly: AssemblyFileVersion ("1.0.0.0")]
+[assembly: ComVisible (false)] \ No newline at end of file
diff --git a/PagesGallery/PagesGallery.WinPhone/packages.config b/PagesGallery/PagesGallery.WinPhone/packages.config
new file mode 100644
index 00000000..fe86bc49
--- /dev/null
+++ b/PagesGallery/PagesGallery.WinPhone/packages.config
@@ -0,0 +1,4 @@
+<?xml version="1.0" encoding="utf-8"?>
+<packages>
+ <package id="Xamarin.Forms" version="2.0.0.6482" targetFramework="wpa81" />
+</packages> \ No newline at end of file
diff --git a/PagesGallery/PagesGallery.Windows/App.xaml b/PagesGallery/PagesGallery.Windows/App.xaml
new file mode 100644
index 00000000..66d0576c
--- /dev/null
+++ b/PagesGallery/PagesGallery.Windows/App.xaml
@@ -0,0 +1,7 @@
+<Application
+ x:Class="PagesGallery.Windows.App"
+ xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
+ xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
+ xmlns:local="using:PagesGallery.Windows">
+
+</Application>
diff --git a/PagesGallery/PagesGallery.Windows/App.xaml.cs b/PagesGallery/PagesGallery.Windows/App.xaml.cs
new file mode 100644
index 00000000..6c0e11d7
--- /dev/null
+++ b/PagesGallery/PagesGallery.Windows/App.xaml.cs
@@ -0,0 +1,102 @@
+using System;
+using System.Collections.Generic;
+using System.IO;
+using System.Linq;
+using System.Runtime.InteropServices.WindowsRuntime;
+using Windows.ApplicationModel;
+using Windows.ApplicationModel.Activation;
+using Windows.Foundation;
+using Windows.Foundation.Collections;
+using Windows.UI.Xaml;
+using Windows.UI.Xaml.Controls;
+using Windows.UI.Xaml.Controls.Primitives;
+using Windows.UI.Xaml.Data;
+using Windows.UI.Xaml.Input;
+using Windows.UI.Xaml.Media;
+using Windows.UI.Xaml.Media.Animation;
+using Windows.UI.Xaml.Navigation;
+
+// The Blank Application template is documented at http://go.microsoft.com/fwlink/?LinkId=234227
+
+namespace PagesGallery.Windows
+{
+ /// <summary>
+ /// Provides application-specific behavior to supplement the default Application class.
+ /// </summary>
+ public sealed partial class App : Application
+ {
+ /// <summary>
+ /// Initializes the singleton application object. This is the first line of authored code
+ /// executed, and as such is the logical equivalent of main() or WinMain().
+ /// </summary>
+ public App ()
+ {
+ this.InitializeComponent ();
+ this.Suspending += this.OnSuspending;
+ }
+
+ /// <summary>
+ /// Invoked when the application is launched normally by the end user. Other entry points
+ /// will be used when the application is launched to open a specific file, to display
+ /// search results, and so forth.
+ /// </summary>
+ /// <param name="e">Details about the launch request and process.</param>
+ protected override void OnLaunched (LaunchActivatedEventArgs e)
+ {
+#if DEBUG
+ if (System.Diagnostics.Debugger.IsAttached)
+ {
+ this.DebugSettings.EnableFrameRateCounter = true;
+ }
+#endif
+
+ Frame rootFrame = Window.Current.Content as Frame;
+
+ // Do not repeat app initialization when the Window already has content,
+ // just ensure that the window is active
+ if (rootFrame == null) {
+ // Create a Frame to act as the navigation context and navigate to the first page
+ rootFrame = new Frame ();
+
+ // TODO: change this value to a cache size that is appropriate for your application
+ rootFrame.CacheSize = 1;
+
+ Xamarin.Forms.Forms.Init (e);
+
+ if (e.PreviousExecutionState == ApplicationExecutionState.Terminated) {
+ // TODO: Load state from previously suspended application
+ }
+
+ // Place the frame in the current Window
+ Window.Current.Content = rootFrame;
+ }
+
+ if (rootFrame.Content == null) {
+ // When the navigation stack isn't restored navigate to the first page,
+ // configuring the new page by passing required information as a navigation
+ // parameter
+ if (!rootFrame.Navigate (typeof (MainPage), e.Arguments)) {
+ throw new Exception ("Failed to create initial page");
+ }
+ }
+
+ // Ensure the current window is active
+ Window.Current.Activate ();
+ }
+
+ /// <summary>
+ /// Invoked when application execution is being suspended. Application state is saved
+ /// without knowing whether the application will be terminated or resumed with the contents
+ /// of memory still intact.
+ /// </summary>
+ /// <param name="sender">The source of the suspend request.</param>
+ /// <param name="e">Details about the suspend request.</param>
+ private void OnSuspending (object sender, SuspendingEventArgs e)
+ {
+ var deferral = e.SuspendingOperation.GetDeferral ();
+
+ // TODO: Save application state and stop any background activity
+ deferral.Complete ();
+ }
+ }
+} \ No newline at end of file
diff --git a/PagesGallery/PagesGallery.Windows/Assets/Logo.scale-100.png b/PagesGallery/PagesGallery.Windows/Assets/Logo.scale-100.png
new file mode 100644
index 00000000..e26771cb
--- /dev/null
+++ b/PagesGallery/PagesGallery.Windows/Assets/Logo.scale-100.png
Binary files differ
diff --git a/PagesGallery/PagesGallery.Windows/Assets/SmallLogo.scale-100.png b/PagesGallery/PagesGallery.Windows/Assets/SmallLogo.scale-100.png
new file mode 100644
index 00000000..1eb0d9d5
--- /dev/null
+++ b/PagesGallery/PagesGallery.Windows/Assets/SmallLogo.scale-100.png
Binary files differ
diff --git a/PagesGallery/PagesGallery.Windows/Assets/SplashScreen.scale-100.png b/PagesGallery/PagesGallery.Windows/Assets/SplashScreen.scale-100.png
new file mode 100644
index 00000000..c951e031
--- /dev/null
+++ b/PagesGallery/PagesGallery.Windows/Assets/SplashScreen.scale-100.png
Binary files differ
diff --git a/PagesGallery/PagesGallery.Windows/Assets/StoreLogo.scale-100.png b/PagesGallery/PagesGallery.Windows/Assets/StoreLogo.scale-100.png
new file mode 100644
index 00000000..dcb67271
--- /dev/null
+++ b/PagesGallery/PagesGallery.Windows/Assets/StoreLogo.scale-100.png
Binary files differ
diff --git a/PagesGallery/PagesGallery.Windows/MainPage.xaml b/PagesGallery/PagesGallery.Windows/MainPage.xaml
new file mode 100644
index 00000000..439770ea
--- /dev/null
+++ b/PagesGallery/PagesGallery.Windows/MainPage.xaml
@@ -0,0 +1,14 @@
+<forms:WindowsPage
+ x:Class="PagesGallery.Windows.MainPage"
+ xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
+ xmlns:forms="using:Xamarin.Forms.Platform.WinRT"
+ xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
+ xmlns:local="using:PagesGallery.Windows"
+ xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
+ xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
+ mc:Ignorable="d">
+
+ <Grid Background="{ThemeResource ApplicationPageBackgroundThemeBrush}">
+
+ </Grid>
+</forms:WindowsPage>
diff --git a/PagesGallery/PagesGallery.Windows/MainPage.xaml.cs b/PagesGallery/PagesGallery.Windows/MainPage.xaml.cs
new file mode 100644
index 00000000..3029e7c2
--- /dev/null
+++ b/PagesGallery/PagesGallery.Windows/MainPage.xaml.cs
@@ -0,0 +1,27 @@
+using System;
+using System.Collections.Generic;
+using System.IO;
+using System.Linq;
+using System.Runtime.InteropServices.WindowsRuntime;
+using Windows.Foundation;
+using Windows.Foundation.Collections;
+using Windows.UI.Xaml;
+using Windows.UI.Xaml.Controls;
+using Windows.UI.Xaml.Controls.Primitives;
+using Windows.UI.Xaml.Data;
+using Windows.UI.Xaml.Input;
+using Windows.UI.Xaml.Media;
+using Windows.UI.Xaml.Navigation;
+
+namespace PagesGallery.Windows
+{
+ public sealed partial class MainPage
+ {
+ public MainPage ()
+ {
+ this.InitializeComponent ();
+
+ LoadApplication (new PagesGallery.App ());
+ }
+ }
+}
diff --git a/PagesGallery/PagesGallery.Windows/Package.appxmanifest b/PagesGallery/PagesGallery.Windows/Package.appxmanifest
new file mode 100644
index 00000000..188ba67c
--- /dev/null
+++ b/PagesGallery/PagesGallery.Windows/Package.appxmanifest
@@ -0,0 +1,41 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Package xmlns="http://schemas.microsoft.com/appx/2010/manifest" xmlns:m2="http://schemas.microsoft.com/appx/2013/manifest">
+
+ <Identity Name="85930d70-750c-41a6-9b95-03faaed4159c"
+ Publisher="CN=joaqu"
+ Version="1.0.0.0" />
+
+ <Properties>
+ <DisplayName>FPCL.Windows8.Windows</DisplayName>
+ <PublisherDisplayName>joaqu</PublisherDisplayName>
+ <Logo>Assets\StoreLogo.png</Logo>
+ </Properties>
+
+ <Prerequisites>
+ <OSMinVersion>6.3.0</OSMinVersion>
+ <OSMaxVersionTested>6.3.0</OSMaxVersionTested>
+ </Prerequisites>
+
+ <Resources>
+ <Resource Language="x-generate"/>
+ </Resources>
+
+ <Applications>
+ <Application Id="App"
+ Executable="$targetnametoken$.exe"
+ EntryPoint="FPCL.Windows8.Windows.App">
+ <m2:VisualElements
+ DisplayName="FPCL.Windows8.Windows"
+ Square150x150Logo="Assets\Logo.png"
+ Square30x30Logo="Assets\SmallLogo.png"
+ Description="FPCL.Windows8.Windows"
+ ForegroundText="light"
+ BackgroundColor="#464646">
+ <m2:SplashScreen Image="Assets\SplashScreen.png" />
+ </m2:VisualElements>
+ </Application>
+ </Applications>
+ <Capabilities>
+ <Capability Name="internetClient" />
+ </Capabilities>
+</Package> \ No newline at end of file
diff --git a/PagesGallery/PagesGallery.Windows/PagesGallery.Windows.csproj b/PagesGallery/PagesGallery.Windows/PagesGallery.Windows.csproj
new file mode 100644
index 00000000..13472fde
--- /dev/null
+++ b/PagesGallery/PagesGallery.Windows/PagesGallery.Windows.csproj
@@ -0,0 +1,183 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="14.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <ProjectGuid>{0948BB67-B926-4B4C-A093-9B49211DD801}</ProjectGuid>
+ <OutputType>AppContainerExe</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <RootNamespace>PagesGallery.Windows</RootNamespace>
+ <AssemblyName>PagesGallery.Windows</AssemblyName>
+ <DefaultLanguage>en-US</DefaultLanguage>
+ <TargetPlatformVersion>8.1</TargetPlatformVersion>
+ <MinimumVisualStudioVersion>12</MinimumVisualStudioVersion>
+ <FileAlignment>512</FileAlignment>
+ <SynthesizeLinkMetadata>true</SynthesizeLinkMetadata>
+ <ProjectTypeGuids>{BC8A1FFA-BEE3-4634-8014-F334798102B3};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+ <PackageCertificateKeyFile>Windows_TemporaryKey.pfx</PackageCertificateKeyFile>
+ <NuGetPackageImportStamp>
+ </NuGetPackageImportStamp>
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ <PlatformTarget>AnyCPU</PlatformTarget>
+ <DebugSymbols>true</DebugSymbols>
+ <DebugType>full</DebugType>
+ <Optimize>false</Optimize>
+ <OutputPath>bin\Debug\</OutputPath>
+ <DefineConstants>DEBUG;TRACE;NETFX_CORE;WINDOWS_APP</DefineConstants>
+ <ErrorReport>prompt</ErrorReport>
+ <WarningLevel>4</WarningLevel>
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ <PlatformTarget>AnyCPU</PlatformTarget>
+ <DebugType>pdbonly</DebugType>
+ <Optimize>true</Optimize>
+ <OutputPath>bin\Release\</OutputPath>
+ <DefineConstants>TRACE;NETFX_CORE;WINDOWS_APP</DefineConstants>
+ <ErrorReport>prompt</ErrorReport>
+ <WarningLevel>4</WarningLevel>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Debug|ARM'">
+ <DebugSymbols>true</DebugSymbols>
+ <OutputPath>bin\ARM\Debug\</OutputPath>
+ <DefineConstants>DEBUG;TRACE;NETFX_CORE;WINDOWS_APP</DefineConstants>
+ <NoWarn>;2008</NoWarn>
+ <DebugType>full</DebugType>
+ <PlatformTarget>ARM</PlatformTarget>
+ <UseVSHostingProcess>false</UseVSHostingProcess>
+ <ErrorReport>prompt</ErrorReport>
+ <Prefer32Bit>true</Prefer32Bit>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Release|ARM'">
+ <OutputPath>bin\ARM\Release\</OutputPath>
+ <DefineConstants>TRACE;NETFX_CORE;WINDOWS_APP</DefineConstants>
+ <Optimize>true</Optimize>
+ <NoWarn>;2008</NoWarn>
+ <DebugType>pdbonly</DebugType>
+ <PlatformTarget>ARM</PlatformTarget>
+ <UseVSHostingProcess>false</UseVSHostingProcess>
+ <ErrorReport>prompt</ErrorReport>
+ <Prefer32Bit>true</Prefer32Bit>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Debug|x64'">
+ <DebugSymbols>true</DebugSymbols>
+ <OutputPath>bin\x64\Debug\</OutputPath>
+ <DefineConstants>DEBUG;TRACE;NETFX_CORE;WINDOWS_APP</DefineConstants>
+ <NoWarn>;2008</NoWarn>
+ <DebugType>full</DebugType>
+ <PlatformTarget>x64</PlatformTarget>
+ <UseVSHostingProcess>false</UseVSHostingProcess>
+ <ErrorReport>prompt</ErrorReport>
+ <Prefer32Bit>true</Prefer32Bit>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Release|x64'">
+ <OutputPath>bin\x64\Release\</OutputPath>
+ <DefineConstants>TRACE;NETFX_CORE;WINDOWS_APP</DefineConstants>
+ <Optimize>true</Optimize>
+ <NoWarn>;2008</NoWarn>
+ <DebugType>pdbonly</DebugType>
+ <PlatformTarget>x64</PlatformTarget>
+ <UseVSHostingProcess>false</UseVSHostingProcess>
+ <ErrorReport>prompt</ErrorReport>
+ <Prefer32Bit>true</Prefer32Bit>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Debug|x86'">
+ <DebugSymbols>true</DebugSymbols>
+ <OutputPath>bin\x86\Debug\</OutputPath>
+ <DefineConstants>DEBUG;TRACE;NETFX_CORE;WINDOWS_APP</DefineConstants>
+ <NoWarn>;2008</NoWarn>
+ <DebugType>full</DebugType>
+ <PlatformTarget>x86</PlatformTarget>
+ <UseVSHostingProcess>false</UseVSHostingProcess>
+ <ErrorReport>prompt</ErrorReport>
+ <Prefer32Bit>true</Prefer32Bit>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Release|x86'">
+ <OutputPath>bin\x86\Release\</OutputPath>
+ <DefineConstants>TRACE;NETFX_CORE;WINDOWS_APP</DefineConstants>
+ <Optimize>true</Optimize>
+ <NoWarn>;2008</NoWarn>
+ <DebugType>pdbonly</DebugType>
+ <PlatformTarget>x86</PlatformTarget>
+ <UseVSHostingProcess>false</UseVSHostingProcess>
+ <ErrorReport>prompt</ErrorReport>
+ <Prefer32Bit>true</Prefer32Bit>
+ </PropertyGroup>
+ <ItemGroup>
+ <Compile Include="App.xaml.cs">
+ <DependentUpon>App.xaml</DependentUpon>
+ </Compile>
+ <Compile Include="MainPage.xaml.cs">
+ <DependentUpon>MainPage.xaml</DependentUpon>
+ </Compile>
+ <Compile Include="Properties\AssemblyInfo.cs" />
+ </ItemGroup>
+ <ItemGroup>
+ <AppxManifest Include="Package.appxmanifest">
+ <SubType>Designer</SubType>
+ </AppxManifest>
+ <None Include="packages.config" />
+ <None Include="Windows_TemporaryKey.pfx" />
+ </ItemGroup>
+ <ItemGroup>
+ <Content Include="Assets\Logo.scale-100.png" />
+ <Content Include="Assets\SmallLogo.scale-100.png" />
+ <Content Include="Assets\SplashScreen.scale-100.png" />
+ <Content Include="Assets\StoreLogo.scale-100.png" />
+ </ItemGroup>
+ <ItemGroup>
+ <ApplicationDefinition Include="App.xaml">
+ <SubType>Designer</SubType>
+ </ApplicationDefinition>
+ <Page Include="MainPage.xaml">
+ <Generator>MSBuild:Compile</Generator>
+ <SubType>Designer</SubType>
+ </Page>
+ </ItemGroup>
+ <ItemGroup>
+ <ProjectReference Include="..\PagesGallery\PagesGallery.csproj">
+ <Name>PagesGallery</Name>
+ </ProjectReference>
+ </ItemGroup>
+ <ItemGroup>
+ <Reference Include="Xamarin.Forms.Core, Version=2.0.0.0, Culture=neutral, processorArchitecture=MSIL">
+ <HintPath>..\..\packages\Xamarin.Forms.2.0.0.6482\lib\win81\Xamarin.Forms.Core.dll</HintPath>
+ <Private>True</Private>
+ </Reference>
+ <Reference Include="Xamarin.Forms.Platform, Version=1.0.0.0, Culture=neutral, processorArchitecture=MSIL">
+ <HintPath>..\..\packages\Xamarin.Forms.2.0.0.6482\lib\win81\Xamarin.Forms.Platform.dll</HintPath>
+ <Private>True</Private>
+ </Reference>
+ <Reference Include="Xamarin.Forms.Platform.WinRT, Version=2.0.0.0, Culture=neutral, processorArchitecture=MSIL">
+ <HintPath>..\..\packages\Xamarin.Forms.2.0.0.6482\lib\win81\Xamarin.Forms.Platform.WinRT.dll</HintPath>
+ <Private>True</Private>
+ </Reference>
+ <Reference Include="Xamarin.Forms.Platform.WinRT.Tablet, Version=2.0.0.0, Culture=neutral, processorArchitecture=MSIL">
+ <HintPath>..\..\packages\Xamarin.Forms.2.0.0.6482\lib\win81\Xamarin.Forms.Platform.WinRT.Tablet.dll</HintPath>
+ <Private>True</Private>
+ </Reference>
+ <Reference Include="Xamarin.Forms.Xaml, Version=2.0.0.0, Culture=neutral, processorArchitecture=MSIL">
+ <HintPath>..\..\packages\Xamarin.Forms.2.0.0.6482\lib\win81\Xamarin.Forms.Xaml.dll</HintPath>
+ <Private>True</Private>
+ </Reference>
+ </ItemGroup>
+ <PropertyGroup Condition=" '$(VisualStudioVersion)' == '' or '$(VisualStudioVersion)' &lt; '12.0' ">
+ <VisualStudioVersion>12.0</VisualStudioVersion>
+ </PropertyGroup>
+ <Import Project="$(MSBuildExtensionsPath)\Microsoft\WindowsXaml\v$(VisualStudioVersion)\Microsoft.Windows.UI.Xaml.CSharp.targets" />
+ <Import Project="..\..\packages\Xamarin.Forms.2.0.0.6482\build\portable-win+net45+wp80+win81+wpa81+MonoAndroid10+MonoTouch10+Xamarin.iOS10\Xamarin.Forms.targets" Condition="Exists('..\..\packages\Xamarin.Forms.2.0.0.6482\build\portable-win+net45+wp80+win81+wpa81+MonoAndroid10+MonoTouch10+Xamarin.iOS10\Xamarin.Forms.targets')" />
+ <Target Name="EnsureNuGetPackageBuildImports" BeforeTargets="PrepareForBuild">
+ <PropertyGroup>
+ <ErrorText>This project references NuGet package(s) that are missing on this computer. Use 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('..\..\packages\Xamarin.Forms.2.0.0.6482\build\portable-win+net45+wp80+win81+wpa81+MonoAndroid10+MonoTouch10+Xamarin.iOS10\Xamarin.Forms.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\..\packages\Xamarin.Forms.2.0.0.6482\build\portable-win+net45+wp80+win81+wpa81+MonoAndroid10+MonoTouch10+Xamarin.iOS10\Xamarin.Forms.targets'))" />
+ </Target>
+ <!-- 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>
+ -->
+</Project> \ No newline at end of file
diff --git a/PagesGallery/PagesGallery.Windows/Properties/AssemblyInfo.cs b/PagesGallery/PagesGallery.Windows/Properties/AssemblyInfo.cs
new file mode 100644
index 00000000..2912048a
--- /dev/null
+++ b/PagesGallery/PagesGallery.Windows/Properties/AssemblyInfo.cs
@@ -0,0 +1,29 @@
+using System.Reflection;
+using System.Runtime.CompilerServices;
+using System.Runtime.InteropServices;
+
+// 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 ("PagesGallery.Windows.Windows")]
+[assembly: AssemblyDescription ("")]
+[assembly: AssemblyConfiguration ("")]
+[assembly: AssemblyCompany ("")]
+[assembly: AssemblyProduct ("PagesGallery.Windows.Windows")]
+[assembly: AssemblyCopyright ("Copyright © 2015")]
+[assembly: AssemblyTrademark ("")]
+[assembly: AssemblyCulture ("")]
+
+// 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 Build and Revision Numbers
+// by using the '*' as shown below:
+// [assembly: AssemblyVersion("1.0.*")]
+[assembly: AssemblyVersion ("1.0.0.0")]
+[assembly: AssemblyFileVersion ("1.0.0.0")]
+[assembly: ComVisible (false)] \ No newline at end of file
diff --git a/PagesGallery/PagesGallery.Windows/Windows_TemporaryKey.pfx b/PagesGallery/PagesGallery.Windows/Windows_TemporaryKey.pfx
new file mode 100644
index 00000000..27389f27
--- /dev/null
+++ b/PagesGallery/PagesGallery.Windows/Windows_TemporaryKey.pfx
Binary files differ
diff --git a/PagesGallery/PagesGallery.Windows/packages.config b/PagesGallery/PagesGallery.Windows/packages.config
new file mode 100644
index 00000000..b258b22f
--- /dev/null
+++ b/PagesGallery/PagesGallery.Windows/packages.config
@@ -0,0 +1,4 @@
+<?xml version="1.0" encoding="utf-8"?>
+<packages>
+ <package id="Xamarin.Forms" version="2.0.0.6482" targetFramework="win81" />
+</packages> \ No newline at end of file
diff --git a/PagesGallery/PagesGallery.iOS/AppDelegate.cs b/PagesGallery/PagesGallery.iOS/AppDelegate.cs
new file mode 100644
index 00000000..7d59ad21
--- /dev/null
+++ b/PagesGallery/PagesGallery.iOS/AppDelegate.cs
@@ -0,0 +1,29 @@
+using Foundation;
+using UIKit;
+using Xamarin.Forms;
+using Xamarin.Forms.Platform.iOS;
+
+namespace PagesGallery.iOS
+{
+ // The UIApplicationDelegate for the application. This class is responsible for launching the
+ // User Interface of the application, as well as listening (and optionally responding) to
+ // application events from iOS.
+ [Register("AppDelegate")]
+ public class AppDelegate : FormsApplicationDelegate
+ {
+ //
+ // This method is invoked when the application has loaded and is ready to run. In this
+ // method you should instantiate the window, load the UI into it and then make the window
+ // visible.
+ //
+ // You have 17 seconds to return from this method, or iOS will terminate your application.
+ //
+ public override bool FinishedLaunching(UIApplication app, NSDictionary options)
+ {
+ Forms.Init();
+ LoadApplication(new App());
+
+ return base.FinishedLaunching(app, options);
+ }
+ }
+} \ No newline at end of file
diff --git a/PagesGallery/PagesGallery.iOS/Entitlements.plist b/PagesGallery/PagesGallery.iOS/Entitlements.plist
new file mode 100644
index 00000000..e9a3005f
--- /dev/null
+++ b/PagesGallery/PagesGallery.iOS/Entitlements.plist
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<plist version="1.0">
+<dict>
+</dict>
+</plist>
+
diff --git a/PagesGallery/PagesGallery.iOS/Info.plist b/PagesGallery/PagesGallery.iOS/Info.plist
new file mode 100644
index 00000000..c68a0161
--- /dev/null
+++ b/PagesGallery/PagesGallery.iOS/Info.plist
@@ -0,0 +1,52 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<plist version="1.0">
+ <dict>
+ <key>UIDeviceFamily</key>
+ <array>
+ <integer>1</integer>
+ <integer>2</integer>
+ </array>
+ <key>UISupportedInterfaceOrientations</key>
+ <array>
+ <string>UIInterfaceOrientationPortrait</string>
+ <string>UIInterfaceOrientationLandscapeLeft</string>
+ <string>UIInterfaceOrientationLandscapeRight</string>
+ </array>
+ <key>UISupportedInterfaceOrientations~ipad</key>
+ <array>
+ <string>UIInterfaceOrientationPortrait</string>
+ <string>UIInterfaceOrientationPortraitUpsideDown</string>
+ <string>UIInterfaceOrientationLandscapeLeft</string>
+ <string>UIInterfaceOrientationLandscapeRight</string>
+ </array>
+ <key>MinimumOSVersion</key>
+ <string>6.0</string>
+ <key>CFBundleDisplayName</key>
+ <string>PagesGallery</string>
+ <key>CFBundleIdentifier</key>
+ <string>com.yourcompany.PagesGallery</string>
+ <key>CFBundleVersion</key>
+ <string>1.0</string>
+ <key>CFBundleIconFiles</key>
+ <array>
+ <string>Icon-60@2x</string>
+ <string>Icon-60@3x</string>
+ <string>Icon-76</string>
+ <string>Icon-76@2x</string>
+ <string>Default</string>
+ <string>Default@2x</string>
+ <string>Default-568h@2x</string>
+ <string>Default-Portrait</string>
+ <string>Default-Portrait@2x</string>
+ <string>Icon-Small-40</string>
+ <string>Icon-Small-40@2x</string>
+ <string>Icon-Small-40@3x</string>
+ <string>Icon-Small</string>
+ <string>Icon-Small@2x</string>
+ <string>Icon-Small@3x</string>
+ </array>
+ <key>UILaunchStoryboardName</key>
+ <string>LaunchScreen</string>
+ </dict>
+</plist>
diff --git a/PagesGallery/PagesGallery.iOS/Main.cs b/PagesGallery/PagesGallery.iOS/Main.cs
new file mode 100644
index 00000000..b4caffaa
--- /dev/null
+++ b/PagesGallery/PagesGallery.iOS/Main.cs
@@ -0,0 +1,15 @@
+using UIKit;
+
+namespace PagesGallery.iOS
+{
+ public class Application
+ {
+ // This is the main entry point of the application.
+ static void Main(string[] args)
+ {
+ // if you want to use a different Application Delegate class from "AppDelegate"
+ // you can specify it here.
+ UIApplication.Main(args, null, "AppDelegate");
+ }
+ }
+} \ No newline at end of file
diff --git a/PagesGallery/PagesGallery.iOS/PagesGallery.iOS.csproj b/PagesGallery/PagesGallery.iOS/PagesGallery.iOS.csproj
new file mode 100644
index 00000000..8607831c
--- /dev/null
+++ b/PagesGallery/PagesGallery.iOS/PagesGallery.iOS.csproj
@@ -0,0 +1,160 @@
+<?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)' == '' ">iPhoneSimulator</Platform>
+ <ProductVersion>8.0.30703</ProductVersion>
+ <SchemaVersion>2.0</SchemaVersion>
+ <ProjectGuid>{392156B2-760A-4EE3-A822-CABD3238A21D}</ProjectGuid>
+ <ProjectTypeGuids>{FEACFBD2-3405-455C-9665-78FE426C6842};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+ <OutputType>Exe</OutputType>
+ <RootNamespace>PagesGallery.iOS</RootNamespace>
+ <IPhoneResourcePrefix>Resources</IPhoneResourcePrefix>
+ <AssemblyName>PagesGalleryiOS</AssemblyName>
+ <NuGetPackageImportStamp>
+ </NuGetPackageImportStamp>
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|iPhoneSimulator' ">
+ <DebugSymbols>true</DebugSymbols>
+ <DebugType>full</DebugType>
+ <Optimize>false</Optimize>
+ <OutputPath>bin\iPhoneSimulator\Debug</OutputPath>
+ <DefineConstants>DEBUG</DefineConstants>
+ <ErrorReport>prompt</ErrorReport>
+ <WarningLevel>4</WarningLevel>
+ <ConsolePause>false</ConsolePause>
+ <MtouchArch>i386, x86_64</MtouchArch>
+ <MtouchLink>None</MtouchLink>
+ <MtouchDebug>true</MtouchDebug>
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|iPhoneSimulator' ">
+ <DebugType>none</DebugType>
+ <Optimize>true</Optimize>
+ <OutputPath>bin\iPhoneSimulator\Release</OutputPath>
+ <ErrorReport>prompt</ErrorReport>
+ <WarningLevel>4</WarningLevel>
+ <MtouchLink>None</MtouchLink>
+ <MtouchArch>i386, x86_64</MtouchArch>
+ <ConsolePause>false</ConsolePause>
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|iPhone' ">
+ <DebugSymbols>true</DebugSymbols>
+ <DebugType>full</DebugType>
+ <Optimize>false</Optimize>
+ <OutputPath>bin\iPhone\Debug</OutputPath>
+ <DefineConstants>DEBUG</DefineConstants>
+ <ErrorReport>prompt</ErrorReport>
+ <WarningLevel>4</WarningLevel>
+ <ConsolePause>false</ConsolePause>
+ <MtouchArch>ARMv7, ARM64</MtouchArch>
+ <CodesignKey>iPhone Developer</CodesignKey>
+ <MtouchDebug>true</MtouchDebug>
+ <CodesignEntitlements>Entitlements.plist</CodesignEntitlements>
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|iPhone' ">
+ <DebugType>none</DebugType>
+ <Optimize>true</Optimize>
+ <OutputPath>bin\iPhone\Release</OutputPath>
+ <ErrorReport>prompt</ErrorReport>
+ <WarningLevel>4</WarningLevel>
+ <MtouchArch>ARMv7, ARM64</MtouchArch>
+ <ConsolePause>false</ConsolePause>
+ <CodesignKey>iPhone Developer</CodesignKey>
+ <CodesignEntitlements>Entitlements.plist</CodesignEntitlements>
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Ad-Hoc|iPhone' ">
+ <DebugType>none</DebugType>
+ <Optimize>True</Optimize>
+ <OutputPath>bin\iPhone\Ad-Hoc</OutputPath>
+ <ErrorReport>prompt</ErrorReport>
+ <WarningLevel>4</WarningLevel>
+ <ConsolePause>False</ConsolePause>
+ <MtouchArch>ARMv7, ARM64</MtouchArch>
+ <BuildIpa>True</BuildIpa>
+ <CodesignProvision>Automatic:AdHoc</CodesignProvision>
+ <CodesignKey>iPhone Distribution</CodesignKey>
+ <CodesignEntitlements>Entitlements.plist</CodesignEntitlements>
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'AppStore|iPhone' ">
+ <DebugType>none</DebugType>
+ <Optimize>True</Optimize>
+ <OutputPath>bin\iPhone\AppStore</OutputPath>
+ <ErrorReport>prompt</ErrorReport>
+ <WarningLevel>4</WarningLevel>
+ <ConsolePause>False</ConsolePause>
+ <MtouchArch>ARMv7, ARM64</MtouchArch>
+ <CodesignProvision>Automatic:AppStore</CodesignProvision>
+ <CodesignKey>iPhone Distribution</CodesignKey>
+ <CodesignEntitlements>Entitlements.plist</CodesignEntitlements>
+ </PropertyGroup>
+ <ItemGroup>
+ <Compile Include="Main.cs" />
+ <Compile Include="AppDelegate.cs" />
+ <None Include="app.config" />
+ <None Include="Entitlements.plist" />
+ <None Include="Info.plist" />
+ <Compile Include="Properties\AssemblyInfo.cs" />
+ <ITunesArtwork Include="iTunesArtwork" />
+ <ITunesArtwork Include="iTunesArtwork@2x" />
+ <None Include="packages.config">
+ <SubType>Designer</SubType>
+ </None>
+ </ItemGroup>
+ <ItemGroup>
+ <ProjectReference Include="..\..\Stubs\Xamarin.Forms.Platform.iOS\Xamarin.Forms.Platform.iOS %28Forwarders%29.csproj">
+ <Project>{39b3457f-01d8-43d0-8e84-d8c4f73cf48d}</Project>
+ <Name>Xamarin.Forms.Platform.iOS %28Forwarders%29</Name>
+ </ProjectReference>
+ <ProjectReference Include="..\..\Xamarin.Forms.Core\Xamarin.Forms.Core.csproj">
+ <Project>{57b8b73d-c3b5-4c42-869e-7b2f17d354ac}</Project>
+ <Name>Xamarin.Forms.Core</Name>
+ </ProjectReference>
+ <ProjectReference Include="..\..\Xamarin.Forms.Pages\Xamarin.Forms.Pages.csproj">
+ <Project>{d6133dbd-6c60-4bd5-bea2-07e0a3927c31}</Project>
+ <Name>Xamarin.Forms.Pages</Name>
+ </ProjectReference>
+ <ProjectReference Include="..\..\Xamarin.Forms.Platform.iOS\Xamarin.Forms.Platform.iOS.csproj">
+ <Project>{271193c1-6e7c-429c-a36d-3f1be5267231}</Project>
+ <Name>Xamarin.Forms.Platform.iOS</Name>
+ <IsAppExtension>false</IsAppExtension>
+ <IsWatchApp>false</IsWatchApp>
+ </ProjectReference>
+ <ProjectReference Include="..\..\Xamarin.Forms.Xaml\Xamarin.Forms.Xaml.csproj">
+ <Project>{9db2f292-8034-4e06-89ad-98bbda4306b9}</Project>
+ <Name>Xamarin.Forms.Xaml</Name>
+ </ProjectReference>
+ <ProjectReference Include="..\PagesGallery\PagesGallery.csproj">
+ <Name>PagesGallery</Name>
+ </ProjectReference>
+ </ItemGroup>
+ <ItemGroup>
+ <BundleResource Include="Resources\Default-568h%402x.png" />
+ <BundleResource Include="Resources\Default-Portrait.png" />
+ <BundleResource Include="Resources\Default-Portrait%402x.png" />
+ <BundleResource Include="Resources\Default.png" />
+ <BundleResource Include="Resources\Default%402x.png" />
+ <BundleResource Include="Resources\Icon-60%402x.png" />
+ <BundleResource Include="Resources\Icon-60%403x.png" />
+ <BundleResource Include="Resources\Icon-76.png" />
+ <BundleResource Include="Resources\Icon-76%402x.png" />
+ <BundleResource Include="Resources\Icon-Small-40.png" />
+ <BundleResource Include="Resources\Icon-Small-40%402x.png" />
+ <BundleResource Include="Resources\Icon-Small-40%403x.png" />
+ <BundleResource Include="Resources\Icon-Small.png" />
+ <BundleResource Include="Resources\Icon-Small%402x.png" />
+ <BundleResource Include="Resources\Icon-Small%403x.png" />
+ <InterfaceDefinition Include="Resources\LaunchScreen.storyboard" />
+ </ItemGroup>
+ <ItemGroup>
+ <Reference Include="ModernHttpClient, Version=2.4.2.0, Culture=neutral, processorArchitecture=MSIL">
+ <HintPath>..\..\packages\modernhttpclient.2.4.2\lib\Xamarin.iOS10\ModernHttpClient.dll</HintPath>
+ <Private>True</Private>
+ </Reference>
+ <Reference Include="System" />
+ <Reference Include="System.Xml" />
+ <Reference Include="System.Core" />
+ <Reference Include="Xamarin.iOS" />
+ </ItemGroup>
+ <Import Project="$(MSBuildExtensionsPath)\Xamarin\iOS\Xamarin.iOS.CSharp.targets" />
+ <Import Project="..\..\.nuspec\Xamarin.Forms.targets" />
+</Project> \ No newline at end of file
diff --git a/PagesGallery/PagesGallery.iOS/Properties/AssemblyInfo.cs b/PagesGallery/PagesGallery.iOS/Properties/AssemblyInfo.cs
new file mode 100644
index 00000000..c91e3867
--- /dev/null
+++ b/PagesGallery/PagesGallery.iOS/Properties/AssemblyInfo.cs
@@ -0,0 +1,36 @@
+using System.Reflection;
+using System.Runtime.CompilerServices;
+using System.Runtime.InteropServices;
+
+// 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 ("PagesGallery.iOS")]
+[assembly: AssemblyDescription ("")]
+[assembly: AssemblyConfiguration ("")]
+[assembly: AssemblyCompany ("")]
+[assembly: AssemblyProduct ("PagesGallery.iOS")]
+[assembly: AssemblyCopyright ("Copyright © 2014")]
+[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 ("72bdc44f-c588-44f3-b6df-9aace7daafdd")]
+
+// 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 Build and Revision Numbers
+// by using the '*' as shown below:
+// [assembly: AssemblyVersion("1.0.*")]
+[assembly: AssemblyVersion ("1.0.0.0")]
+[assembly: AssemblyFileVersion ("1.0.0.0")]
diff --git a/PagesGallery/PagesGallery.iOS/Resources/Default-568h@2x.png b/PagesGallery/PagesGallery.iOS/Resources/Default-568h@2x.png
new file mode 100644
index 00000000..26c6461e
--- /dev/null
+++ b/PagesGallery/PagesGallery.iOS/Resources/Default-568h@2x.png
Binary files differ
diff --git a/PagesGallery/PagesGallery.iOS/Resources/Default-Portrait.png b/PagesGallery/PagesGallery.iOS/Resources/Default-Portrait.png
new file mode 100644
index 00000000..5d0d1ab4
--- /dev/null
+++ b/PagesGallery/PagesGallery.iOS/Resources/Default-Portrait.png
Binary files differ
diff --git a/PagesGallery/PagesGallery.iOS/Resources/Default-Portrait@2x.png b/PagesGallery/PagesGallery.iOS/Resources/Default-Portrait@2x.png
new file mode 100644
index 00000000..0ee2688e
--- /dev/null
+++ b/PagesGallery/PagesGallery.iOS/Resources/Default-Portrait@2x.png
Binary files differ
diff --git a/PagesGallery/PagesGallery.iOS/Resources/Default.png b/PagesGallery/PagesGallery.iOS/Resources/Default.png
new file mode 100644
index 00000000..b74643c0
--- /dev/null
+++ b/PagesGallery/PagesGallery.iOS/Resources/Default.png
Binary files differ
diff --git a/PagesGallery/PagesGallery.iOS/Resources/Default@2x.png b/PagesGallery/PagesGallery.iOS/Resources/Default@2x.png
new file mode 100644
index 00000000..dbd6bd3e
--- /dev/null
+++ b/PagesGallery/PagesGallery.iOS/Resources/Default@2x.png
Binary files differ
diff --git a/PagesGallery/PagesGallery.iOS/Resources/Icon-60@2x.png b/PagesGallery/PagesGallery.iOS/Resources/Icon-60@2x.png
new file mode 100644
index 00000000..4b03c427
--- /dev/null
+++ b/PagesGallery/PagesGallery.iOS/Resources/Icon-60@2x.png
Binary files differ
diff --git a/PagesGallery/PagesGallery.iOS/Resources/Icon-60@3x.png b/PagesGallery/PagesGallery.iOS/Resources/Icon-60@3x.png
new file mode 100644
index 00000000..b03ca1bb
--- /dev/null
+++ b/PagesGallery/PagesGallery.iOS/Resources/Icon-60@3x.png
Binary files differ
diff --git a/PagesGallery/PagesGallery.iOS/Resources/Icon-76.png b/PagesGallery/PagesGallery.iOS/Resources/Icon-76.png
new file mode 100644
index 00000000..587982e2
--- /dev/null
+++ b/PagesGallery/PagesGallery.iOS/Resources/Icon-76.png
Binary files differ
diff --git a/PagesGallery/PagesGallery.iOS/Resources/Icon-76@2x.png b/PagesGallery/PagesGallery.iOS/Resources/Icon-76@2x.png
new file mode 100644
index 00000000..cd4e2c8f
--- /dev/null
+++ b/PagesGallery/PagesGallery.iOS/Resources/Icon-76@2x.png
Binary files differ
diff --git a/PagesGallery/PagesGallery.iOS/Resources/Icon-Small-40.png b/PagesGallery/PagesGallery.iOS/Resources/Icon-Small-40.png
new file mode 100644
index 00000000..6acff944
--- /dev/null
+++ b/PagesGallery/PagesGallery.iOS/Resources/Icon-Small-40.png
Binary files differ
diff --git a/PagesGallery/PagesGallery.iOS/Resources/Icon-Small-40@2x.png b/PagesGallery/PagesGallery.iOS/Resources/Icon-Small-40@2x.png
new file mode 100644
index 00000000..b833aac2
--- /dev/null
+++ b/PagesGallery/PagesGallery.iOS/Resources/Icon-Small-40@2x.png
Binary files differ
diff --git a/PagesGallery/PagesGallery.iOS/Resources/Icon-Small-40@3x.png b/PagesGallery/PagesGallery.iOS/Resources/Icon-Small-40@3x.png
new file mode 100644
index 00000000..ab8654e4
--- /dev/null
+++ b/PagesGallery/PagesGallery.iOS/Resources/Icon-Small-40@3x.png
Binary files differ
diff --git a/PagesGallery/PagesGallery.iOS/Resources/Icon-Small.png b/PagesGallery/PagesGallery.iOS/Resources/Icon-Small.png
new file mode 100644
index 00000000..33db7e71
--- /dev/null
+++ b/PagesGallery/PagesGallery.iOS/Resources/Icon-Small.png
Binary files differ
diff --git a/PagesGallery/PagesGallery.iOS/Resources/Icon-Small@2x.png b/PagesGallery/PagesGallery.iOS/Resources/Icon-Small@2x.png
new file mode 100644
index 00000000..bf45e259
--- /dev/null
+++ b/PagesGallery/PagesGallery.iOS/Resources/Icon-Small@2x.png
Binary files differ
diff --git a/PagesGallery/PagesGallery.iOS/Resources/Icon-Small@3x.png b/PagesGallery/PagesGallery.iOS/Resources/Icon-Small@3x.png
new file mode 100644
index 00000000..7ad3891b
--- /dev/null
+++ b/PagesGallery/PagesGallery.iOS/Resources/Icon-Small@3x.png
Binary files differ
diff --git a/PagesGallery/PagesGallery.iOS/Resources/LaunchScreen.storyboard b/PagesGallery/PagesGallery.iOS/Resources/LaunchScreen.storyboard
new file mode 100644
index 00000000..a639c2f1
--- /dev/null
+++ b/PagesGallery/PagesGallery.iOS/Resources/LaunchScreen.storyboard
@@ -0,0 +1,39 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<document type="com.apple.InterfaceBuilder3.CocoaTouch.Storyboard.XIB" version="3.0" toolsVersion="6245" systemVersion="13F34" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" initialViewController="X5k-f2-b5h">
+ <dependencies>
+ <plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="6238"/>
+ </dependencies>
+ <scenes>
+ <!--View Controller-->
+ <scene sceneID="gAE-YM-kbH">
+ <objects>
+ <viewController id="X5k-f2-b5h" sceneMemberID="viewController">
+ <layoutGuides>
+ <viewControllerLayoutGuide type="top" id="Y8P-hJ-Z43"/>
+ <viewControllerLayoutGuide type="bottom" id="9ZL-r4-8FZ"/>
+ </layoutGuides>
+ <view key="view" contentMode="scaleToFill" id="yd7-JS-zBw">
+ <rect key="frame" x="0.0" y="0.0" width="600" height="600"/>
+ <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
+ <subviews>
+ <imageView userInteractionEnabled="NO" contentMode="scaleToFill" misplaced="YES" image="Icon-60.png" translatesAutoresizingMaskIntoConstraints="NO" id="23">
+ <rect key="frame" x="270" y="270" width="60" height="60"/>
+ <rect key="contentStretch" x="0.0" y="0.0" width="0.0" height="0.0"/>
+ </imageView>
+ </subviews>
+ <color key="backgroundColor" red="0.20392156862745098" green="0.59607843137254901" blue="0.85882352941176465" alpha="1" colorSpace="calibratedRGB"/>
+ <constraints>
+ <constraint firstItem="23" firstAttribute="centerY" secondItem="yd7-JS-zBw" secondAttribute="centerY" priority="1" id="39"/>
+ <constraint firstItem="23" firstAttribute="centerX" secondItem="yd7-JS-zBw" secondAttribute="centerX" priority="1" id="41"/>
+ </constraints>
+ </view>
+ </viewController>
+ <placeholder placeholderIdentifier="IBFirstResponder" id="XAI-xm-WK6" userLabel="First Responder" sceneMemberID="firstResponder"/>
+ </objects>
+ <point key="canvasLocation" x="349" y="339"/>
+ </scene>
+ </scenes>
+ <resources>
+ <image name="Icon-60.png" width="180" height="180"/>
+ </resources>
+</document>
diff --git a/PagesGallery/PagesGallery.iOS/app.config b/PagesGallery/PagesGallery.iOS/app.config
new file mode 100644
index 00000000..4dd3b43c
--- /dev/null
+++ b/PagesGallery/PagesGallery.iOS/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="System.Net.Http" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-1.5.0.0" newVersion="1.5.0.0" />
+ </dependentAssembly>
+ </assemblyBinding>
+ </runtime>
+</configuration> \ No newline at end of file
diff --git a/PagesGallery/PagesGallery.iOS/iTunesArtwork b/PagesGallery/PagesGallery.iOS/iTunesArtwork
new file mode 100644
index 00000000..94c8ebd6
--- /dev/null
+++ b/PagesGallery/PagesGallery.iOS/iTunesArtwork
Binary files differ
diff --git a/PagesGallery/PagesGallery.iOS/iTunesArtwork@2x b/PagesGallery/PagesGallery.iOS/iTunesArtwork@2x
new file mode 100644
index 00000000..fa2ebf72
--- /dev/null
+++ b/PagesGallery/PagesGallery.iOS/iTunesArtwork@2x
Binary files differ
diff --git a/PagesGallery/PagesGallery.iOS/packages.config b/PagesGallery/PagesGallery.iOS/packages.config
new file mode 100644
index 00000000..f0eba649
--- /dev/null
+++ b/PagesGallery/PagesGallery.iOS/packages.config
@@ -0,0 +1,4 @@
+<?xml version="1.0" encoding="utf-8"?>
+<packages>
+ <package id="modernhttpclient" version="2.4.2" targetFramework="xamarinios10" />
+</packages> \ No newline at end of file
diff --git a/PagesGallery/PagesGallery/App.xaml b/PagesGallery/PagesGallery/App.xaml
new file mode 100644
index 00000000..18a5e0f3
--- /dev/null
+++ b/PagesGallery/PagesGallery/App.xaml
@@ -0,0 +1,74 @@
+<?xml version="1.0" encoding="utf-8" ?>
+<Application xmlns="http://xamarin.com/schemas/2014/forms"
+ xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
+ xmlns:local="clr-namespace:PagesGallery"
+ xmlns:p="clr-namespace:Xamarin.Forms.Pages;assembly=Xamarin.Forms.Pages"
+ x:Class="PagesGallery.App">
+ <Application.Resources>
+ <ResourceDictionary>
+
+ <local:CapitalizationConverter x:Key="capitalizeConverter" />
+
+ <Style x:Key="EventPageStyle" TargetType="p:DataPage">
+ <Setter Property="ControlTemplate">
+ <ControlTemplate>
+ <p:ListDataPageControl />
+ </ControlTemplate>
+ </Setter>
+ </Style>
+
+ <Style Class="Speakers" ApplyToDerivedTypes="True" CanCascade="True" TargetType="p:DataPage" BasedOn="{StaticResource EventPageStyle}" />
+
+ <Style x:Key="DetailPageStyle" TargetType="p:DataPage">
+ <Setter Property="ControlTemplate">
+ <ControlTemplate>
+ <StackLayout Spacing="0">
+ <ContentPresenter />
+ <ListView ItemsSource="{TemplateBinding Data}" ItemTemplate="{TemplateBinding DefaultItemTemplate}" HasUnevenRows="true" />
+ </StackLayout>
+ </ControlTemplate>
+ </Setter>
+ </Style>
+
+ <Style TargetType="p:HeroImage">
+ <Setter Property="ControlTemplate">
+ <ControlTemplate>
+ <Grid BackgroundColor="Black" HeightRequest="300">
+ <Grid.RowDefinitions>
+ <RowDefinition Height="4*" />
+ <RowDefinition Height="Auto" />
+ <RowDefinition Height="Auto" />
+ <RowDefinition Height="*" />
+ </Grid.RowDefinitions>
+ <Image Grid.RowSpan="4" Source="{TemplateBinding ImageSource}" Aspect="{TemplateBinding Aspect}" Opacity="0.6" />
+ <Label Grid.Row="1" Margin="25,0,0,0" Text="{TemplateBinding Text}" FontSize="25" TextColor="White" />
+ <Label Grid.Row="2" Margin="25,0,0,0" Text="{TemplateBinding Detail}" FontSize="20" TextColor="White" />
+ </Grid>
+ </ControlTemplate>
+ </Setter>
+ </Style>
+
+ <DataTemplate x:Key="DetailCell">
+ <ViewCell IsEnabled="false">
+ <StackLayout Padding="15,5,5,5">
+ <Label Text="{Binding Name, Converter={StaticResource capitalizeConverter}}" FontSize="16" />
+ <Label Text="{Binding Value}" FontSize="14" TextColor="#444" LineBreakMode="WordWrap" />
+ </StackLayout>
+ </ViewCell>
+ </DataTemplate>
+
+ <DataTemplate x:Key="SpeakerDetailTemplate">
+ <local:EventDetailsPage Title="Speaker Details" DataSource="{Binding Value}" Style="{StaticResource DetailPageStyle}" DefaultItemTemplate="{StaticResource DetailCell}" >
+ <p:HeroImage Aspect="Fill" Text="{p:DataSourceBinding name}" Detail="{p:DataSourceBinding email}" ImageSource="{p:DataSourceBinding picture}" DataSource="{Binding Value}" />
+ </local:EventDetailsPage>
+ </DataTemplate>
+
+ <DataTemplate x:Key="EventDetailTemplate">
+ <local:EventDetailsPage Title="Event Details" DataSource="{Binding Value}" Style="{StaticResource DetailPageStyle}" DefaultItemTemplate="{StaticResource DetailCell}" >
+ <p:HeroImage Aspect="Fill" Text="{p:DataSourceBinding name}" Detail="{p:DataSourceBinding presenter}" ImageSource="{p:DataSourceBinding picture}" DataSource="{Binding Value}" />
+ </local:EventDetailsPage>
+ </DataTemplate>
+
+ </ResourceDictionary>
+ </Application.Resources>
+</Application> \ No newline at end of file
diff --git a/PagesGallery/PagesGallery/App.xaml.cs b/PagesGallery/PagesGallery/App.xaml.cs
new file mode 100644
index 00000000..5cad242d
--- /dev/null
+++ b/PagesGallery/PagesGallery/App.xaml.cs
@@ -0,0 +1,42 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+
+using Xamarin.Forms;
+
+namespace PagesGallery
+{
+ public partial class App : Application
+ {
+ public App ()
+ {
+ InitializeComponent ();
+
+ var eventsPage = new EventsPage ();
+ var speakersPage = new SpeakersPage ();
+ MainPage = new NavigationPage (new TabbedPage {
+ Title = "Xamarin Evolve 2016",
+ Children = {
+ eventsPage,
+ speakersPage
+ }
+ });
+ }
+
+ protected override void OnStart ()
+ {
+ // Handle when your app starts
+ }
+
+ protected override void OnSleep ()
+ {
+ // Handle when your app sleeps
+ }
+
+ protected override void OnResume ()
+ {
+ // Handle when your app resumes
+ }
+ }
+}
diff --git a/PagesGallery/PagesGallery/CapitalizationConverter.cs b/PagesGallery/PagesGallery/CapitalizationConverter.cs
new file mode 100644
index 00000000..ea4e8d0e
--- /dev/null
+++ b/PagesGallery/PagesGallery/CapitalizationConverter.cs
@@ -0,0 +1,20 @@
+using System;
+using System.Globalization;
+using Xamarin.Forms;
+
+namespace PagesGallery
+{
+ public class CapitalizationConverter : IValueConverter
+ {
+ public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
+ {
+ var str = (value as string ?? value.ToString());
+ return char.ToUpper(str[0]) + str.Substring(1);
+ }
+
+ public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture)
+ {
+ throw new NotImplementedException();
+ }
+ }
+} \ No newline at end of file
diff --git a/PagesGallery/PagesGallery/EventsPage.xaml b/PagesGallery/PagesGallery/EventsPage.xaml
new file mode 100644
index 00000000..2d7abafd
--- /dev/null
+++ b/PagesGallery/PagesGallery/EventsPage.xaml
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="utf-8" ?>
+<p:ListDataPage xmlns="http://xamarin.com/schemas/2014/forms"
+ xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
+ xmlns:p="clr-namespace:Xamarin.Forms.Pages;assembly=Xamarin.Forms.Pages"
+ x:Class="PagesGallery.EventsPage"
+ Title="Events"
+ DetailTemplate="{StaticResource EventDetailTemplate}"
+ Style="{StaticResource EventPageStyle}">
+ <p:DataPage.DataSource>
+ <p:JsonDataSource Source="http://demo7391822.mockable.io/events" />
+ </p:DataPage.DataSource>
+ <p:DataPage.DefaultItemTemplate>
+ <DataTemplate>
+ <TextCell Text="{Binding Value[name]}" Detail="{Binding Value[presenter]}" />
+ </DataTemplate>
+ </p:DataPage.DefaultItemTemplate>
+</p:ListDataPage> \ No newline at end of file
diff --git a/PagesGallery/PagesGallery/EventsPage.xaml.cs b/PagesGallery/PagesGallery/EventsPage.xaml.cs
new file mode 100644
index 00000000..695c0d01
--- /dev/null
+++ b/PagesGallery/PagesGallery/EventsPage.xaml.cs
@@ -0,0 +1,23 @@
+using Xamarin.Forms.Pages;
+
+namespace PagesGallery
+{
+ public partial class EventsPage : ListDataPage
+ {
+ public EventsPage()
+ {
+ InitializeComponent();
+ }
+ }
+
+ public class EventDetailsPage : DataPage
+ {
+ public EventDetailsPage()
+ {
+ ((IDataSourceProvider)this).MaskKey("_id");
+ ((IDataSourceProvider)this).MaskKey("guid");
+ ((IDataSourceProvider)this).MaskKey("index");
+ ((IDataSourceProvider)this).MaskKey("isPublic");
+ }
+ }
+} \ No newline at end of file
diff --git a/PagesGallery/PagesGallery/GettingStarted.Xamarin b/PagesGallery/PagesGallery/GettingStarted.Xamarin
new file mode 100644
index 00000000..f31b0091
--- /dev/null
+++ b/PagesGallery/PagesGallery/GettingStarted.Xamarin
@@ -0,0 +1,4 @@
+<GettingStarted>
+ <LocalContent>GS\XF\CS\App\GettingStarted.html</LocalContent>
+ <EmbeddedNavigation>false</EmbeddedNavigation>
+</GettingStarted> \ No newline at end of file
diff --git a/PagesGallery/PagesGallery/PagesGallery.csproj b/PagesGallery/PagesGallery/PagesGallery.csproj
new file mode 100644
index 00000000..19fdfbb6
--- /dev/null
+++ b/PagesGallery/PagesGallery/PagesGallery.csproj
@@ -0,0 +1,105 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
+ <PropertyGroup>
+ <MinimumVisualStudioVersion>10.0</MinimumVisualStudioVersion>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <ProjectGuid>{7B5F9E6A-6334-4C74-9B77-A55B3DA60E41}</ProjectGuid>
+ <OutputType>Library</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <RootNamespace>PagesGallery</RootNamespace>
+ <AssemblyName>PagesGallery</AssemblyName>
+ <TargetFrameworkVersion>v4.5</TargetFrameworkVersion>
+ <TargetFrameworkProfile>Profile259</TargetFrameworkProfile>
+ <FileAlignment>512</FileAlignment>
+ <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+ <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</DefineConstants>
+ <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</DefineConstants>
+ <ErrorReport>prompt</ErrorReport>
+ <WarningLevel>4</WarningLevel>
+ </PropertyGroup>
+ <ItemGroup>
+ <Compile Include="App.xaml.cs">
+ <DependentUpon>App.xaml</DependentUpon>
+ </Compile>
+ <Compile Include="CapitalizationConverter.cs" />
+ <Compile Include="EventsPage.xaml.cs">
+ <DependentUpon>EventsPage.xaml</DependentUpon>
+ </Compile>
+ <Compile Include="Properties\AssemblyInfo.cs" />
+ <Compile Include="SpeakersPage.xaml.cs">
+ <DependentUpon>SpeakersPage.xaml</DependentUpon>
+ </Compile>
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="GettingStarted.Xamarin" />
+ <None Include="packages.config" />
+ </ItemGroup>
+ <ItemGroup>
+ <ProjectReference Include="..\..\Xamarin.Forms.Core\Xamarin.Forms.Core.csproj">
+ <Project>{57b8b73d-c3b5-4c42-869e-7b2f17d354ac}</Project>
+ <Name>Xamarin.Forms.Core</Name>
+ </ProjectReference>
+ <ProjectReference Include="..\..\Xamarin.Forms.Pages\Xamarin.Forms.Pages.csproj">
+ <Project>{d6133dbd-6c60-4bd5-bea2-07e0a3927c31}</Project>
+ <Name>Xamarin.Forms.Pages</Name>
+ </ProjectReference>
+ <ProjectReference Include="..\..\Xamarin.Forms.Platform\Xamarin.Forms.Platform.csproj">
+ <Project>{67f9d3a8-f71e-4428-913f-c37ae82cdb24}</Project>
+ <Name>Xamarin.Forms.Platform</Name>
+ </ProjectReference>
+ <ProjectReference Include="..\..\Xamarin.Forms.Xaml\Xamarin.Forms.Xaml.csproj">
+ <Project>{9db2f292-8034-4e06-89ad-98bbda4306b9}</Project>
+ <Name>Xamarin.Forms.Xaml</Name>
+ </ProjectReference>
+ </ItemGroup>
+ <ItemGroup>
+ <EmbeddedResource Include="App.xaml">
+ <SubType>Designer</SubType>
+ <Generator>MSBuild:UpdateDesignTimeXaml</Generator>
+ </EmbeddedResource>
+ </ItemGroup>
+ <ItemGroup>
+ <EmbeddedResource Include="EventsPage.xaml">
+ <Generator>MSBuild:UpdateDesignTimeXaml</Generator>
+ <SubType>Designer</SubType>
+ </EmbeddedResource>
+ </ItemGroup>
+ <ItemGroup>
+ <EmbeddedResource Include="SpeakersPage.xaml">
+ <Generator>MSBuild:UpdateDesignTimeXaml</Generator>
+ <SubType>Designer</SubType>
+ </EmbeddedResource>
+ </ItemGroup>
+ <ItemGroup>
+ <Reference Include="ModernHttpClient, Version=2.4.2.0, Culture=neutral, processorArchitecture=MSIL">
+ <HintPath>..\..\packages\modernhttpclient.2.4.2\lib\Portable-Net45+WinRT45+WP8+WPA81\ModernHttpClient.dll</HintPath>
+ <Private>True</Private>
+ </Reference>
+ </ItemGroup>
+ <Import Project="$(MSBuildExtensionsPath32)\Microsoft\Portable\$(TargetFrameworkVersion)\Microsoft.Portable.CSharp.targets" />
+ <Import Project="..\..\.nuspec\Xamarin.Forms.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>
+ -->
+</Project> \ No newline at end of file
diff --git a/PagesGallery/PagesGallery/Properties/AssemblyInfo.cs b/PagesGallery/PagesGallery/Properties/AssemblyInfo.cs
new file mode 100644
index 00000000..e5188feb
--- /dev/null
+++ b/PagesGallery/PagesGallery/Properties/AssemblyInfo.cs
@@ -0,0 +1,30 @@
+using System.Resources;
+using System.Reflection;
+using System.Runtime.CompilerServices;
+using System.Runtime.InteropServices;
+
+// 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 ("PagesGallery")]
+[assembly: AssemblyDescription ("")]
+[assembly: AssemblyConfiguration ("")]
+[assembly: AssemblyCompany ("")]
+[assembly: AssemblyProduct ("PagesGallery")]
+[assembly: AssemblyCopyright ("Copyright © 2014")]
+[assembly: AssemblyTrademark ("")]
+[assembly: AssemblyCulture ("")]
+[assembly: NeutralResourcesLanguage ("en")]
+
+// 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 Build and Revision Numbers
+// by using the '*' as shown below:
+// [assembly: AssemblyVersion("1.0.*")]
+[assembly: AssemblyVersion ("1.0.0.0")]
+[assembly: AssemblyFileVersion ("1.0.0.0")]
diff --git a/PagesGallery/PagesGallery/SpeakersPage.xaml b/PagesGallery/PagesGallery/SpeakersPage.xaml
new file mode 100644
index 00000000..1bfcc8db
--- /dev/null
+++ b/PagesGallery/PagesGallery/SpeakersPage.xaml
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="utf-8" ?>
+<p:ListDataPage xmlns="http://xamarin.com/schemas/2014/forms"
+ xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
+ xmlns:p="clr-namespace:Xamarin.Forms.Pages;assembly=Xamarin.Forms.Pages"
+ x:Class="PagesGallery.SpeakersPage"
+ Title="Speakers"
+ DetailTemplate="{StaticResource SpeakerDetailTemplate}"
+ StyleClass="Speakers">
+ <p:DataPage.DataSource>
+ <p:JsonDataSource Source="http://demo7391822.mockable.io/speakers" />
+ </p:DataPage.DataSource>
+ <p:DataPage.DefaultItemTemplate>
+ <DataTemplate>
+ <ImageCell ImageSource="{Binding Value[picture]}" Text="{Binding Value[name]}" Detail="{Binding Value[twitter]}" />
+ </DataTemplate>
+ </p:DataPage.DefaultItemTemplate>
+</p:ListDataPage> \ No newline at end of file
diff --git a/PagesGallery/PagesGallery/SpeakersPage.xaml.cs b/PagesGallery/PagesGallery/SpeakersPage.xaml.cs
new file mode 100644
index 00000000..59a927f1
--- /dev/null
+++ b/PagesGallery/PagesGallery/SpeakersPage.xaml.cs
@@ -0,0 +1,12 @@
+using Xamarin.Forms.Pages;
+
+namespace PagesGallery
+{
+ public partial class SpeakersPage : ListDataPage
+ {
+ public SpeakersPage()
+ {
+ InitializeComponent();
+ }
+ }
+} \ No newline at end of file
diff --git a/PagesGallery/PagesGallery/packages.config b/PagesGallery/PagesGallery/packages.config
new file mode 100644
index 00000000..8f0534f1
--- /dev/null
+++ b/PagesGallery/PagesGallery/packages.config
@@ -0,0 +1,4 @@
+<?xml version="1.0" encoding="utf-8"?>
+<packages>
+ <package id="modernhttpclient" version="2.4.2" targetFramework="portable45-net45+win8+wp8+wpa81" />
+</packages> \ No newline at end of file