Merge branch 'Dev' of https://github.com/dotnet/eShopOnContainers.git
@ -112,9 +112,9 @@
|
||||
<Setter Property="FontFamily"
|
||||
Value="{StaticResource MontserratRegular}" />
|
||||
<Setter Property="TextColor"
|
||||
Value="{StaticResource WhiteColor}" />
|
||||
Value="{StaticResource BlackColor}" />
|
||||
<Setter Property="PlaceholderColor"
|
||||
Value="{StaticResource WhiteColor}" />
|
||||
Value="{StaticResource BlackColor}" />
|
||||
<Setter Property="FontSize"
|
||||
Value="{StaticResource LargeSize}" />
|
||||
<Setter Property="HorizontalOptions"
|
||||
@ -136,6 +136,39 @@
|
||||
</Style.Triggers>
|
||||
</Style>
|
||||
|
||||
<Style x:Key="UwpEntryStyle"
|
||||
TargetType="{x:Type Entry}">
|
||||
<Setter Property="FontFamily"
|
||||
Value="{StaticResource MontserratRegular}" />
|
||||
<Setter Property="TextColor"
|
||||
Value="{StaticResource BlackColor}" />
|
||||
<Setter Property="PlaceholderColor"
|
||||
Value="{StaticResource BlackColor}" />
|
||||
<Setter Property="FontSize"
|
||||
Value="{StaticResource LargeSize}" />
|
||||
<Setter Property="HorizontalOptions"
|
||||
Value="FillAndExpand" />
|
||||
<Setter Property="FontAttributes"
|
||||
Value="Bold" />
|
||||
<Setter Property="BackgroundColor"
|
||||
Value="Transparent" />
|
||||
<Setter Property="Opacity"
|
||||
Value="0.6" />
|
||||
<Setter Property="effects:LineColorEffect.ApplyLineColor"
|
||||
Value="True" />
|
||||
<Setter Property="effects:LineColorEffect.LineColor"
|
||||
Value="Gray" />
|
||||
<Style.Triggers>
|
||||
<Trigger TargetType="Entry"
|
||||
Property="IsFocused"
|
||||
Value="True">
|
||||
<Setter Property="Opacity" Value="1" />
|
||||
<Setter Property="effects:LineColorEffect.LineColor"
|
||||
Value="{StaticResource GreenColor}" />
|
||||
</Trigger>
|
||||
</Style.Triggers>
|
||||
</Style>
|
||||
|
||||
<Style TargetType="NavigationPage">
|
||||
<Setter Property="BarBackgroundColor" Value="{StaticResource GreenColor}"/>
|
||||
<Setter Property="BarTextColor" Value="{StaticResource WhiteColor}"/>
|
||||
|
@ -7,10 +7,10 @@ namespace eShopOnContainers.Core.Controls
|
||||
public class BindablePicker : Picker
|
||||
{
|
||||
public static readonly BindableProperty ItemsSourceProperty = BindableProperty.Create("ItemsSource",
|
||||
typeof(IEnumerable), typeof(BindablePicker), null, propertyChanged: OnItemsSourceChanged);
|
||||
typeof(IEnumerable), typeof(BindablePicker), null, propertyChanged: OnItemsSourceChanged);
|
||||
|
||||
public static readonly BindableProperty SelectedItemProperty = BindableProperty.Create("SelectedItem",
|
||||
typeof(object), typeof(BindablePicker), null, BindingMode.TwoWay, propertyChanged: OnSelectedItemChanged);
|
||||
typeof(object), typeof(BindablePicker), null, BindingMode.TwoWay, propertyChanged: OnSelectedItemChanged);
|
||||
|
||||
public BindablePicker()
|
||||
{
|
||||
|
@ -0,0 +1,86 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<ContentView
|
||||
xmlns="http://xamarin.com/schemas/2014/forms"
|
||||
xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
|
||||
x:Class="eShopOnContainers.Core.Controls.CartButton">
|
||||
<ContentView.Resources>
|
||||
<ResourceDictionary>
|
||||
|
||||
<Style x:Key="AddButtonStyle"
|
||||
TargetType="{x:Type Grid}">
|
||||
<Setter Property="HeightRequest"
|
||||
Value="42" />
|
||||
<Setter Property="WidthRequest"
|
||||
Value="42" />
|
||||
<Setter Property="HorizontalOptions"
|
||||
Value="Center" />
|
||||
<Setter Property="VerticalOptions"
|
||||
Value="End" />
|
||||
<Setter Property="Margin"
|
||||
Value="0, 0, 0, 24" />
|
||||
</Style>
|
||||
|
||||
<Style x:Key="AddBackgroundImageStyle"
|
||||
TargetType="{x:Type Image}">
|
||||
<Setter Property="HorizontalOptions"
|
||||
Value="Center" />
|
||||
<Setter Property="VerticalOptions"
|
||||
Value="Center" />
|
||||
<Setter Property="HeightRequest"
|
||||
Value="128" />
|
||||
<Setter Property="WidthRequest"
|
||||
Value="128" />
|
||||
</Style>
|
||||
|
||||
<Style x:Key="AddImageStyle"
|
||||
TargetType="{x:Type Image}">
|
||||
<Setter Property="HeightRequest"
|
||||
Value="24" />
|
||||
<Setter Property="WidthRequest"
|
||||
Value="24" />
|
||||
</Style>
|
||||
|
||||
</ResourceDictionary>
|
||||
</ContentView.Resources>
|
||||
<ContentView.Content>
|
||||
<Grid>
|
||||
<!-- IOS & ANDROID -->
|
||||
<Grid
|
||||
Style="{StaticResource AddButtonStyle}">
|
||||
<Grid.IsVisible>
|
||||
<OnPlatform
|
||||
x:TypeArguments="x:Boolean"
|
||||
Android="True"
|
||||
iOS="True"
|
||||
WinPhone="False"/>
|
||||
</Grid.IsVisible>
|
||||
<BoxView
|
||||
BackgroundColor="{StaticResource LightGreenColor}"
|
||||
StyleClass="Circle" />
|
||||
<Image
|
||||
Aspect="AspectFit"
|
||||
Source="product_add"
|
||||
Style="{StaticResource AddImageStyle}">
|
||||
<Image.Margin>
|
||||
<OnPlatform
|
||||
x:TypeArguments="Thickness"
|
||||
Android="5, 12, 12, 12"
|
||||
iOS="6, 12, 12, 12"/>
|
||||
</Image.Margin>
|
||||
</Image>
|
||||
</Grid>
|
||||
<!-- UWP -->
|
||||
<Grid>
|
||||
<Image
|
||||
Source="Assets/circle_button_background.png"
|
||||
Aspect="AspectFit"
|
||||
Style="{StaticResource AddBackgroundImageStyle}" />
|
||||
<Image
|
||||
Aspect="AspectFit"
|
||||
Source="Assets\product_add.png"
|
||||
Style="{StaticResource AddImageStyle}"
|
||||
Margin="12" />
|
||||
</Grid>
|
||||
</Grid>
|
||||
</ContentView.Content>
|
||||
</ContentView>
|
@ -0,0 +1,12 @@
|
||||
using Xamarin.Forms;
|
||||
|
||||
namespace eShopOnContainers.Core.Controls
|
||||
{
|
||||
public partial class CartButton : ContentView
|
||||
{
|
||||
public CartButton()
|
||||
{
|
||||
InitializeComponent();
|
||||
}
|
||||
}
|
||||
}
|
@ -0,0 +1,25 @@
|
||||
using Xamarin.Forms;
|
||||
|
||||
namespace eShopOnContainers.Core.Controls
|
||||
{
|
||||
public class CustomSwitch : Switch
|
||||
{
|
||||
public static readonly BindableProperty TextOnProperty = BindableProperty.Create("TextOn",
|
||||
typeof(string), typeof(CustomSwitch), string.Empty);
|
||||
|
||||
public static readonly BindableProperty TextOffProperty = BindableProperty.Create("TextOff",
|
||||
typeof(string), typeof(CustomSwitch), string.Empty);
|
||||
|
||||
public string TextOn
|
||||
{
|
||||
get { return (string)this.GetValue(TextOnProperty); }
|
||||
set { this.SetValue(TextOnProperty, value); }
|
||||
}
|
||||
|
||||
public string TextOff
|
||||
{
|
||||
get { return (string)this.GetValue(TextOffProperty); }
|
||||
set { this.SetValue(TextOffProperty, value); }
|
||||
}
|
||||
}
|
||||
}
|
@ -59,7 +59,7 @@ namespace eShopOnContainers.Core.Effects
|
||||
|
||||
class EntryLineColorEffect : RoutingEffect
|
||||
{
|
||||
public EntryLineColorEffect() : base("BikeSharing.EntryLineColorEffect")
|
||||
public EntryLineColorEffect() : base("eShopOnContainers.EntryLineColorEffect")
|
||||
{
|
||||
}
|
||||
}
|
||||
|
@ -154,6 +154,7 @@ namespace eShopOnContainers.Services
|
||||
_mappings.Add(typeof(MainViewModel), typeof(MainView));
|
||||
_mappings.Add(typeof(OrderDetailViewModel), typeof(OrderDetailView));
|
||||
_mappings.Add(typeof(ProfileViewModel), typeof(ProfileView));
|
||||
_mappings.Add(typeof(SettingsViewModel), typeof(SettingsView));
|
||||
}
|
||||
}
|
||||
}
|
@ -41,6 +41,7 @@ namespace eShopOnContainers.ViewModels.Base
|
||||
_unityContainer.RegisterType<MainViewModel>();
|
||||
_unityContainer.RegisterType<OrderDetailViewModel>();
|
||||
_unityContainer.RegisterType<ProfileViewModel>();
|
||||
_unityContainer.RegisterType<SettingsViewModel>();
|
||||
}
|
||||
|
||||
public T Resolve<T>()
|
||||
|
@ -3,13 +3,18 @@ using eShopOnContainers.ViewModels.Base;
|
||||
using eShopOnContainers.Core.Models.Navigation;
|
||||
using Xamarin.Forms;
|
||||
using eShopOnContainers.Core.ViewModels.Base;
|
||||
using System.Windows.Input;
|
||||
|
||||
namespace eShopOnContainers.Core.ViewModels
|
||||
{
|
||||
public class MainViewModel : ViewModelBase
|
||||
{
|
||||
public ICommand SettingsCommand => new Command(Settings);
|
||||
|
||||
public override Task InitializeAsync(object navigationData)
|
||||
{
|
||||
IsBusy = true;
|
||||
|
||||
if (navigationData is TabParameter)
|
||||
{
|
||||
var tabIndex = ((TabParameter)navigationData).TabIndex;
|
||||
@ -18,5 +23,10 @@ namespace eShopOnContainers.Core.ViewModels
|
||||
|
||||
return base.InitializeAsync(navigationData);
|
||||
}
|
||||
|
||||
private void Settings()
|
||||
{
|
||||
NavigationService.NavigateToAsync<SettingsViewModel>();
|
||||
}
|
||||
}
|
||||
}
|
@ -0,0 +1,9 @@
|
||||
using eShopOnContainers.ViewModels.Base;
|
||||
|
||||
namespace eShopOnContainers.Core.ViewModels
|
||||
{
|
||||
public class SettingsViewModel : ViewModelBase
|
||||
{
|
||||
|
||||
}
|
||||
}
|
@ -2,5 +2,7 @@
|
||||
<NavigationPage xmlns="http://xamarin.com/schemas/2014/forms"
|
||||
xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
|
||||
x:Class="eShopOnContainers.Core.Views.CustomNavigationPage"
|
||||
BarBackgroundColor="{StaticResource GreenColor}"
|
||||
BarTextColor="{StaticResource WhiteColor}"
|
||||
BackgroundColor="Transparent">
|
||||
</NavigationPage>
|
@ -21,7 +21,9 @@
|
||||
<Setter Property="HorizontalOptions"
|
||||
Value="Fill" />
|
||||
<Setter Property="VerticalOptions"
|
||||
Value="Fill" />
|
||||
Value="Fill" />
|
||||
<Setter Property="Margin"
|
||||
Value="0, 2" />
|
||||
</Style>
|
||||
|
||||
<Style x:Key="FilterButtonStyle"
|
||||
@ -62,23 +64,39 @@
|
||||
RowSpacing="0"
|
||||
Margin="48, 24">
|
||||
<Grid.RowDefinitions>
|
||||
<RowDefinition />
|
||||
<RowDefinition />
|
||||
<RowDefinition Height="60" />
|
||||
<RowDefinition Height="60" />
|
||||
<RowDefinition Height="Auto" />
|
||||
<RowDefinition Height="Auto" />
|
||||
</Grid.RowDefinitions>
|
||||
<controls:BindablePicker
|
||||
<controls:BindablePicker
|
||||
Grid.Row="0"
|
||||
Title="BRAND"
|
||||
ItemsSource="{Binding Brands}"
|
||||
Title="BRAND"
|
||||
ItemsSource="{Binding Brands}"
|
||||
SelectedItem="{Binding Brand, Mode=TwoWay}"
|
||||
Style="{StaticResource FilterPickerStyle}"/>
|
||||
<controls:BindablePicker
|
||||
Style="{StaticResource FilterPickerStyle}">
|
||||
<controls:BindablePicker.HeightRequest>
|
||||
<OnPlatform
|
||||
x:TypeArguments="x:Double"
|
||||
Android="48"
|
||||
iOS="48"
|
||||
WinPhone="36"/>
|
||||
</controls:BindablePicker.HeightRequest>
|
||||
</controls:BindablePicker>
|
||||
<controls:BindablePicker
|
||||
Grid.Row="1"
|
||||
Title="TYPE"
|
||||
Title="TYPE"
|
||||
ItemsSource="{Binding Types}"
|
||||
SelectedItem="{Binding Type, Mode=TwoWay}"
|
||||
Style="{StaticResource FilterPickerStyle}"/>
|
||||
Style="{StaticResource FilterPickerStyle}">
|
||||
<controls:BindablePicker.HeightRequest>
|
||||
<OnPlatform
|
||||
x:TypeArguments="x:Double"
|
||||
Android="48"
|
||||
iOS="48"
|
||||
WinPhone="36"/>
|
||||
</controls:BindablePicker.HeightRequest>
|
||||
</controls:BindablePicker>
|
||||
<Button
|
||||
Grid.Row="2"
|
||||
Text="Apply"
|
||||
|
@ -124,13 +124,28 @@
|
||||
Text="User name or email"
|
||||
Style="{StaticResource HeaderLabelStyle}"/>
|
||||
<Entry
|
||||
Text="{Binding UserName.Value, Mode=TwoWay}"/>
|
||||
Text="{Binding UserName.Value, Mode=TwoWay}">
|
||||
<Entry.Style>
|
||||
<OnPlatform x:TypeArguments="Style"
|
||||
iOS="{StaticResource EntryStyle}"
|
||||
Android="{StaticResource EntryStyle}"
|
||||
WinPhone="{StaticResource UwpEntryStyle}"/>
|
||||
</Entry.Style>
|
||||
</Entry>
|
||||
<Label
|
||||
Text="Password"
|
||||
Style="{StaticResource HeaderLabelStyle}"/>
|
||||
<Entry
|
||||
IsPassword="True"
|
||||
Text="{Binding Password.Value, Mode=TwoWay}" />
|
||||
Text="{Binding Password.Value, Mode=TwoWay}"
|
||||
Style="{StaticResource EntryStyle}">
|
||||
<Entry.Style>
|
||||
<OnPlatform x:TypeArguments="Style"
|
||||
iOS="{StaticResource EntryStyle}"
|
||||
Android="{StaticResource EntryStyle}"
|
||||
WinPhone="{StaticResource UwpEntryStyle}"/>
|
||||
</Entry.Style>
|
||||
</Entry>
|
||||
</StackLayout>
|
||||
<!-- LOGIN BUTTON -->
|
||||
<Grid
|
||||
|
@ -6,7 +6,21 @@
|
||||
xmlns:controls="clr-namespace:eShopOnContainers.Core.Controls;assembly=eShopOnContainers.Core"
|
||||
BarBackgroundColor="{StaticResource DarkGreenColor}"
|
||||
BackgroundColor="{StaticResource BackgroundColor}"
|
||||
BarTextColor="{StaticResource WhiteColor}"
|
||||
Title="eShop on Containers">
|
||||
<ContentPage.ToolbarItems>
|
||||
<ToolbarItem
|
||||
Command="{Binding SettingsCommand}"
|
||||
Text="Settings">
|
||||
<ToolbarItem.Icon>
|
||||
<OnPlatform
|
||||
x:TypeArguments="FileImageSource"
|
||||
WinPhone=""
|
||||
Android=""
|
||||
iOS=""/>
|
||||
</ToolbarItem.Icon>
|
||||
</ToolbarItem>
|
||||
</ContentPage.ToolbarItems>
|
||||
<views:CatalogView
|
||||
x:Name="HomeView">
|
||||
<views:CatalogView.Icon>
|
||||
|
@ -195,7 +195,7 @@
|
||||
Grid.Row="2"
|
||||
Opacity="0">
|
||||
<Grid.RowDefinitions>
|
||||
<RowDefinition Height="*" />
|
||||
<RowDefinition Height="Auto" />
|
||||
<RowDefinition Height="Auto" />
|
||||
</Grid.RowDefinitions>
|
||||
<ListView
|
||||
@ -203,7 +203,6 @@
|
||||
ItemsSource="{Binding Order.OrderItems}"
|
||||
HasUnevenRows="True"
|
||||
SeparatorVisibility="None"
|
||||
VerticalOptions="FillAndExpand"
|
||||
CachingStrategy="RecycleElement">
|
||||
<ListView.ItemTemplate>
|
||||
<DataTemplate>
|
||||
|
@ -0,0 +1,86 @@
|
||||
<?xml version="1.0" encoding="utf-8" ?>
|
||||
<ContentPage xmlns="http://xamarin.com/schemas/2014/forms"
|
||||
xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
|
||||
x:Class="eShopOnContainers.Core.Views.SettingsView"
|
||||
xmlns:controls="clr-namespace:eShopOnContainers.Core.Controls;assembly=eShopOnContainers.Core"
|
||||
Title="Settings">
|
||||
<ContentPage.Resources>
|
||||
<ResourceDictionary>
|
||||
|
||||
<Style x:Key="SettingsTitleStyle"
|
||||
TargetType="{x:Type Label}">
|
||||
<Setter Property="FontFamily"
|
||||
Value="{StaticResource MontserratRegular}" />
|
||||
<Setter Property="FontSize"
|
||||
Value="{StaticResource MediumSize}" />
|
||||
<Setter Property="HorizontalOptions"
|
||||
Value="Start" />
|
||||
<Setter Property="VerticalOptions"
|
||||
Value="Center" />
|
||||
<Setter Property="Margin"
|
||||
Value="12, 0" />
|
||||
</Style>
|
||||
|
||||
<Style x:Key="SettingsDescriptionStyle"
|
||||
TargetType="{x:Type Label}"
|
||||
BasedOn="{StaticResource SettingsTitleStyle}">
|
||||
<Setter Property="FontSize"
|
||||
Value="{StaticResource LittleSize}" />
|
||||
</Style>
|
||||
|
||||
<Style x:Key="SettingsSwitchStyle"
|
||||
TargetType="{x:Type controls:CustomSwitch}">
|
||||
<Setter Property="VerticalOptions"
|
||||
Value="Center" />
|
||||
</Style>
|
||||
|
||||
</ResourceDictionary>
|
||||
</ContentPage.Resources>
|
||||
<Grid
|
||||
BackgroundColor="{StaticResource BackgroundColor}">
|
||||
<!-- SETTINGS -->
|
||||
<ScrollView>
|
||||
<StackLayout>
|
||||
<!-- MOCK SERVICES -->
|
||||
<Grid>
|
||||
<Grid.ColumnDefinitions>
|
||||
<ColumnDefinition Width="*" />
|
||||
<ColumnDefinition Width="Auto" />
|
||||
</Grid.ColumnDefinitions>
|
||||
<Grid.RowDefinitions>
|
||||
<RowDefinition Height="1" />
|
||||
<RowDefinition Height="Auto" />
|
||||
<RowDefinition Height="1" />
|
||||
</Grid.RowDefinitions>
|
||||
<Grid
|
||||
Grid.Row="0"
|
||||
Grid.Column="0"
|
||||
Grid.ColumnSpan="2"
|
||||
BackgroundColor="Gray"/>
|
||||
<StackLayout
|
||||
Grid.Column="0"
|
||||
Grid.Row="1">
|
||||
<Label
|
||||
Text="Use Mock Services"
|
||||
TextColor="{StaticResource GreenColor}"
|
||||
Style="{StaticResource SettingsTitleStyle}"/>
|
||||
<Label
|
||||
Text="Mock Services are simulated objects that mimic the behavior of real services in controlled ways"
|
||||
Style="{StaticResource SettingsDescriptionStyle}"/>
|
||||
</StackLayout>
|
||||
<controls:CustomSwitch
|
||||
TextOn="Mock"
|
||||
TextOff="Azure"
|
||||
Grid.Column="1"
|
||||
Grid.Row="1"
|
||||
Style="{StaticResource SettingsSwitchStyle}"/>
|
||||
<Grid
|
||||
Grid.Row="2"
|
||||
Grid.Column="0"
|
||||
Grid.ColumnSpan="2"
|
||||
BackgroundColor="Gray"/>
|
||||
</Grid>
|
||||
</StackLayout>
|
||||
</ScrollView>
|
||||
</Grid>
|
||||
</ContentPage>
|
@ -0,0 +1,18 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
using Xamarin.Forms;
|
||||
|
||||
namespace eShopOnContainers.Core.Views
|
||||
{
|
||||
public partial class SettingsView : ContentPage
|
||||
{
|
||||
public SettingsView()
|
||||
{
|
||||
InitializeComponent();
|
||||
}
|
||||
}
|
||||
}
|
@ -57,6 +57,7 @@
|
||||
</ContentView.Resources>
|
||||
<ContentView.Content>
|
||||
<Grid
|
||||
HeightRequest="120"
|
||||
BackgroundColor="{StaticResource BackgroundColor}">
|
||||
<Grid.ColumnDefinitions>
|
||||
<ColumnDefinition Width="Auto" />
|
||||
|
@ -3,6 +3,7 @@
|
||||
xmlns="http://xamarin.com/schemas/2014/forms"
|
||||
xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
|
||||
xmlns:ffimageloading="clr-namespace:FFImageLoading.Forms;assembly=FFImageLoading.Forms"
|
||||
xmlns:controls="clr-namespace:eShopOnContainers.Core.Controls;assembly=eShopOnContainers.Core"
|
||||
x:Class="eShopOnContainers.Core.Views.Templates.ProductTemplate">
|
||||
<ContentView.Resources>
|
||||
<ResourceDictionary>
|
||||
@ -80,27 +81,9 @@
|
||||
Grid.Row="0"
|
||||
Grid.RowSpan="2"
|
||||
Style="{StaticResource AddButtonStyle}">
|
||||
<BoxView
|
||||
BackgroundColor="{StaticResource LightGreenColor}"
|
||||
StyleClass="Circle"/>
|
||||
<Image
|
||||
Aspect="AspectFit"
|
||||
Style="{StaticResource AddImageStyle}">
|
||||
<Image.Margin>
|
||||
<OnPlatform
|
||||
x:TypeArguments="Thickness"
|
||||
Android="5, 12, 12, 12"
|
||||
iOS="6, 12, 12, 12"
|
||||
WinPhone="8, 12, 12, 12"/>
|
||||
</Image.Margin>
|
||||
<Image.Source>
|
||||
<OnPlatform
|
||||
x:TypeArguments="ImageSource"
|
||||
Android="product_add"
|
||||
iOS="product_add"
|
||||
WinPhone="Assets\product_add.png"/>
|
||||
</Image.Source>
|
||||
</Image>
|
||||
<controls:CartButton>
|
||||
|
||||
</controls:CartButton>
|
||||
</Grid>
|
||||
<Label
|
||||
Grid.Row="1"
|
||||
|
@ -45,6 +45,10 @@
|
||||
<Compile Include="Behaviors\Base\BindableBehavior.cs" />
|
||||
<Compile Include="Behaviors\EventToCommandBehavior.cs" />
|
||||
<Compile Include="Controls\BindablePicker.cs" />
|
||||
<Compile Include="Controls\CartButton.xaml.cs">
|
||||
<DependentUpon>CartButton.xaml</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="Controls\CustomSwitch.cs" />
|
||||
<Compile Include="Controls\CustomTabbedPage.cs" />
|
||||
<Compile Include="Converters\CountToBoolConverter.cs" />
|
||||
<Compile Include="Converters\DatetimeConverter.cs" />
|
||||
@ -96,6 +100,7 @@
|
||||
<Compile Include="ViewModels\MainViewModel.cs" />
|
||||
<Compile Include="ViewModels\OrderDetailViewModel.cs" />
|
||||
<Compile Include="ViewModels\ProfileViewModel.cs" />
|
||||
<Compile Include="ViewModels\SettingsViewModel.cs" />
|
||||
<Compile Include="Views\CartView.xaml.cs">
|
||||
<DependentUpon>CartView.xaml</DependentUpon>
|
||||
</Compile>
|
||||
@ -123,6 +128,9 @@
|
||||
<Compile Include="Views\ProfileView.xaml.cs">
|
||||
<DependentUpon>ProfileView.xaml</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="Views\SettingsView.xaml.cs">
|
||||
<DependentUpon>SettingsView.xaml</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="Views\Templates\CartOrderItemTemplate.xaml.cs">
|
||||
<DependentUpon>CartOrderItemTemplate.xaml</DependentUpon>
|
||||
</Compile>
|
||||
@ -294,6 +302,18 @@
|
||||
<SubType>Designer</SubType>
|
||||
</EmbeddedResource>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<EmbeddedResource Include="Controls\CartButton.xaml">
|
||||
<Generator>MSBuild:UpdateDesignTimeXaml</Generator>
|
||||
<SubType>Designer</SubType>
|
||||
</EmbeddedResource>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<EmbeddedResource Include="Views\SettingsView.xaml">
|
||||
<Generator>MSBuild:UpdateDesignTimeXaml</Generator>
|
||||
<SubType>Designer</SubType>
|
||||
</EmbeddedResource>
|
||||
</ItemGroup>
|
||||
<Import Project="$(MSBuildExtensionsPath32)\Microsoft\Portable\$(TargetFrameworkVersion)\Microsoft.Portable.CSharp.targets" />
|
||||
<Import Project="..\..\packages\Xamarin.Forms.2.3.2.127\build\portable-win+net45+wp80+win81+wpa81+MonoAndroid10+MonoTouch10+Xamarin.iOS10\Xamarin.Forms.targets" Condition="Exists('..\..\packages\Xamarin.Forms.2.3.2.127\build\portable-win+net45+wp80+win81+wpa81+MonoAndroid10+MonoTouch10+Xamarin.iOS10\Xamarin.Forms.targets')" />
|
||||
<Target Name="EnsureNuGetPackageBuildImports" BeforeTargets="PrepareForBuild">
|
||||
|
@ -0,0 +1,58 @@
|
||||
using System;
|
||||
using Xamarin.Forms.Platform.Android;
|
||||
using Xamarin.Forms;
|
||||
using eShopOnContainers.Core.Controls;
|
||||
|
||||
namespace eShopOnContainers.Droid.Renderers
|
||||
{
|
||||
public class CustomSwitchRenderer : ViewRenderer<CustomSwitch, Android.Widget.Switch>
|
||||
{
|
||||
protected override void OnElementChanged(ElementChangedEventArgs<CustomSwitch> e)
|
||||
{
|
||||
base.OnElementChanged(e);
|
||||
|
||||
if (e.OldElement != null)
|
||||
{
|
||||
this.Element.Toggled -= ElementToggled;
|
||||
return;
|
||||
}
|
||||
|
||||
if (this.Element == null)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
var switchControl = new Android.Widget.Switch(Forms.Context)
|
||||
{
|
||||
TextOn = this.Element.TextOn,
|
||||
TextOff = this.Element.TextOff
|
||||
};
|
||||
|
||||
switchControl.CheckedChange += ControlValueChanged;
|
||||
this.Element.Toggled += ElementToggled;
|
||||
|
||||
this.SetNativeControl(switchControl);
|
||||
}
|
||||
|
||||
protected override void Dispose(bool disposing)
|
||||
{
|
||||
if (disposing)
|
||||
{
|
||||
this.Control.CheckedChange -= this.ControlValueChanged;
|
||||
this.Element.Toggled -= ElementToggled;
|
||||
}
|
||||
|
||||
base.Dispose(disposing);
|
||||
}
|
||||
|
||||
private void ElementToggled(object sender, ToggledEventArgs e)
|
||||
{
|
||||
this.Control.Checked = this.Element.IsToggled;
|
||||
}
|
||||
|
||||
private void ControlValueChanged(object sender, EventArgs e)
|
||||
{
|
||||
this.Element.IsToggled = this.Control.Checked;
|
||||
}
|
||||
}
|
||||
}
|
@ -203,6 +203,7 @@
|
||||
<Compile Include="Effects\EntryLineColorEffect.cs" />
|
||||
<Compile Include="Extensions\ViewExtensions.cs" />
|
||||
<Compile Include="Renderers\BadgeView.cs" />
|
||||
<Compile Include="Renderers\CustomSwitchRenderer.cs" />
|
||||
<Compile Include="Renderers\CustomTabbedPageRenderer.cs" />
|
||||
<Compile Include="Renderers\SlideDownMenuPageRenderer.cs" />
|
||||
<Compile Include="Resources\Resource.Designer.cs" />
|
||||
|
@ -6,9 +6,9 @@
|
||||
RequestedTheme="Light">
|
||||
<Application.Resources>
|
||||
<ResourceDictionary>
|
||||
|
||||
|
||||
<Color x:Key="NativeAccentColor">#00A69C</Color>
|
||||
|
||||
|
||||
<Style x:Key="FormTextBoxStyle" TargetType="TextBox">
|
||||
<Setter Property="MinWidth" Value="{ThemeResource TextControlThemeMinWidth}" />
|
||||
<Setter Property="MinHeight" Value="{ThemeResource TextControlThemeMinHeight}" />
|
||||
@ -239,6 +239,52 @@
|
||||
<Style TargetType="PivotItem">
|
||||
<Setter Property="Margin" Value="0" />
|
||||
</Style>
|
||||
|
||||
<Style TargetType="ListViewItem">
|
||||
<Setter Property="FontFamily" Value="{ThemeResource ContentControlThemeFontFamily}" />
|
||||
<Setter Property="FontSize" Value="{ThemeResource ControlContentThemeFontSize}" />
|
||||
<Setter Property="Background" Value="Transparent"/>
|
||||
<Setter Property="Foreground" Value="{ThemeResource SystemControlForegroundBaseHighBrush}" />
|
||||
<Setter Property="TabNavigation" Value="Local"/>
|
||||
<Setter Property="IsHoldingEnabled" Value="True"/>
|
||||
<Setter Property="Padding" Value="12,0,12,0"/>
|
||||
<Setter Property="HorizontalContentAlignment" Value="Left"/>
|
||||
<Setter Property="VerticalContentAlignment" Value="Center"/>
|
||||
<Setter Property="MinWidth" Value="{ThemeResource ListViewItemMinWidth}"/>
|
||||
<Setter Property="MinHeight" Value="{ThemeResource ListViewItemMinHeight}"/>
|
||||
<Setter Property="Template">
|
||||
<Setter.Value>
|
||||
<ControlTemplate TargetType="ListViewItem">
|
||||
<ListViewItemPresenter
|
||||
ContentTransitions="{TemplateBinding ContentTransitions}"
|
||||
SelectionCheckMarkVisualEnabled="True"
|
||||
CheckBrush="{ThemeResource SystemControlForegroundBaseMediumHighBrush}"
|
||||
CheckBoxBrush="{ThemeResource SystemControlForegroundBaseMediumHighBrush}"
|
||||
DragBackground="{ThemeResource ListViewItemDragBackgroundThemeBrush}"
|
||||
DragForeground="{ThemeResource ListViewItemDragForegroundThemeBrush}"
|
||||
FocusBorderBrush="{ThemeResource SystemControlForegroundAltHighBrush}"
|
||||
FocusSecondaryBorderBrush="{ThemeResource SystemControlForegroundBaseHighBrush}"
|
||||
PlaceholderBackground="{ThemeResource ListViewItemPlaceholderBackgroundThemeBrush}"
|
||||
PointerOverBackground="{ThemeResource SystemControlHighlightListLowBrush}"
|
||||
PointerOverForeground="{ThemeResource SystemControlHighlightAltBaseHighBrush}"
|
||||
SelectedBackground="Red"
|
||||
SelectedForeground="Transparent"
|
||||
SelectedPointerOverBackground="Transparent"
|
||||
PressedBackground="Transparent"
|
||||
SelectedPressedBackground="Transparent"
|
||||
DisabledOpacity="{ThemeResource ListViewItemDisabledThemeOpacity}"
|
||||
DragOpacity="{ThemeResource ListViewItemDragThemeOpacity}"
|
||||
ReorderHintOffset="{ThemeResource ListViewItemReorderHintThemeOffset}"
|
||||
HorizontalContentAlignment="{TemplateBinding HorizontalContentAlignment}"
|
||||
VerticalContentAlignment="{TemplateBinding VerticalContentAlignment}"
|
||||
ContentMargin="{TemplateBinding Padding}"
|
||||
CheckMode="Inline"/>
|
||||
</ControlTemplate>
|
||||
</Setter.Value>
|
||||
</Setter>
|
||||
</Style>
|
||||
|
||||
|
||||
|
||||
</ResourceDictionary>
|
||||
</Application.Resources>
|
||||
|
After Width: | Height: | Size: 2.9 KiB |
@ -10,6 +10,7 @@ using Windows.UI.Xaml.Controls;
|
||||
using eShopOnContainers.Windows.Effects;
|
||||
using eShopOnContainers.Core.Effects;
|
||||
|
||||
[assembly: ResolutionGroupName("eShopOnContainers")]
|
||||
[assembly: ExportEffect(typeof(EntryLineColorEffect), "EntryLineColorEffect")]
|
||||
namespace eShopOnContainers.Windows.Effects
|
||||
{
|
||||
@ -51,7 +52,7 @@ namespace eShopOnContainers.Windows.Effects
|
||||
var lineColor = XamarinFormColorToWindowsColor(LineColorEffect.GetLineColor(Element));
|
||||
control.BorderBrush = new Media.SolidColorBrush(lineColor);
|
||||
|
||||
var style = App.Current.Resources["FormTextBoxStyle"] as Xaml.Style;
|
||||
var style = Xaml.Application.Current.Resources["FormTextBoxStyle"] as Xaml.Style;
|
||||
control.Style = style;
|
||||
}
|
||||
}
|
||||
|
@ -0,0 +1,60 @@
|
||||
using eShopOnContainers.Core.Controls;
|
||||
using eShopOnContainers.Windows.Renderers;
|
||||
using Windows.UI.Xaml.Controls;
|
||||
using Xamarin.Forms;
|
||||
using Xamarin.Forms.Platform.UWP;
|
||||
|
||||
[assembly: ExportRenderer(typeof(CustomSwitch), typeof(CustomSwitchRenderer))]
|
||||
namespace eShopOnContainers.Windows.Renderers
|
||||
{
|
||||
public class CustomSwitchRenderer : ViewRenderer<CustomSwitch, ToggleSwitch>
|
||||
{
|
||||
protected override void OnElementChanged(ElementChangedEventArgs<CustomSwitch> e)
|
||||
{
|
||||
base.OnElementChanged(e);
|
||||
|
||||
if (this.Element == null)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
if (e.OldElement != null)
|
||||
{
|
||||
this.Element.Toggled -= ElementToggled;
|
||||
return;
|
||||
}
|
||||
|
||||
var toggleSwitchControl = new ToggleSwitch
|
||||
{
|
||||
OnContent = this.Element.TextOn,
|
||||
OffContent = this.Element.TextOff
|
||||
};
|
||||
|
||||
toggleSwitchControl.Toggled += ControlToggled;
|
||||
this.Element.Toggled += ElementToggled;
|
||||
|
||||
this.SetNativeControl(toggleSwitchControl);
|
||||
}
|
||||
|
||||
protected override void Dispose(bool disposing)
|
||||
{
|
||||
if (disposing)
|
||||
{
|
||||
this.Control.Toggled -= this.ControlToggled;
|
||||
this.Element.Toggled -= ElementToggled;
|
||||
}
|
||||
|
||||
base.Dispose(disposing);
|
||||
}
|
||||
|
||||
private void ElementToggled(object sender, ToggledEventArgs e)
|
||||
{
|
||||
this.Control.IsOn = this.Element.IsToggled;
|
||||
}
|
||||
|
||||
private void ControlToggled(object sender, global::Windows.UI.Xaml.RoutedEventArgs e)
|
||||
{
|
||||
this.Element.IsToggled = this.Control.IsOn;
|
||||
}
|
||||
}
|
||||
}
|
@ -9,6 +9,5 @@ namespace eShopOnContainers.Windows.Renderers
|
||||
[Preserve]
|
||||
public class CustomTabbedPageRenderer : TabbedPageRenderer
|
||||
{
|
||||
|
||||
}
|
||||
}
|
@ -110,6 +110,7 @@
|
||||
<DependentUpon>MainPage.xaml</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="Properties\AssemblyInfo.cs" />
|
||||
<Compile Include="Renderers\CustomSwitchRenderer.cs" />
|
||||
<Compile Include="Renderers\CustomTabbedPageRenderer.cs" />
|
||||
<Compile Include="Renderers\SlideDownMenuPageRenderer.cs" />
|
||||
</ItemGroup>
|
||||
@ -120,6 +121,7 @@
|
||||
<None Include="Windows_TemporaryKey.pfx" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Content Include="Assets\circle_button_background.png" />
|
||||
<Content Include="Assets\fake_product_01.png" />
|
||||
<Content Include="Assets\fake_product_02.png" />
|
||||
<Content Include="Assets\fake_product_03.png" />
|
||||
|
@ -9,6 +9,7 @@ using UIKit;
|
||||
using Xamarin.Forms;
|
||||
using Xamarin.Forms.Platform.iOS;
|
||||
|
||||
[assembly: ResolutionGroupName("eShopOnContainers")]
|
||||
[assembly: ExportEffect(typeof(EntryLineColorEffect), "EntryLineColorEffect")]
|
||||
namespace eShopOnContainers.iOS.Effects
|
||||
{
|
||||
|
@ -0,0 +1,56 @@
|
||||
using eShopOnContainers.Core.Controls;
|
||||
using eShopOnContainers.iOS.Renderers;
|
||||
using UIKit;
|
||||
using Xamarin.Forms;
|
||||
using Xamarin.Forms.Platform.iOS;
|
||||
|
||||
[assembly: ExportRenderer(typeof(CustomSwitch), typeof(CustomSwitchRenderer))]
|
||||
namespace eShopOnContainers.iOS.Renderers
|
||||
{
|
||||
public class CustomSwitchRenderer : ViewRenderer<CustomSwitch, UISwitch>
|
||||
{
|
||||
protected override void OnElementChanged(ElementChangedEventArgs<CustomSwitch> e)
|
||||
{
|
||||
base.OnElementChanged(e);
|
||||
|
||||
if (e.OldElement != null)
|
||||
{
|
||||
this.Element.Toggled -= ElementToggled;
|
||||
return;
|
||||
}
|
||||
|
||||
if (this.Element == null)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
var uiSwitchControl = new UISwitch();
|
||||
|
||||
uiSwitchControl.ValueChanged += ControlValueChanged;
|
||||
this.Element.Toggled += ElementToggled;
|
||||
|
||||
this.SetNativeControl(uiSwitchControl);
|
||||
}
|
||||
|
||||
protected override void Dispose(bool disposing)
|
||||
{
|
||||
if (disposing)
|
||||
{
|
||||
this.Control.ValueChanged -= this.ControlValueChanged;
|
||||
this.Element.Toggled -= ElementToggled;
|
||||
}
|
||||
|
||||
base.Dispose(disposing);
|
||||
}
|
||||
|
||||
private void ElementToggled(object sender, ToggledEventArgs e)
|
||||
{
|
||||
this.Control.On = Element.IsToggled;
|
||||
}
|
||||
|
||||
private void ControlValueChanged(object sender, System.EventArgs e)
|
||||
{
|
||||
this.Element.IsToggled = this.Control.On;
|
||||
}
|
||||
}
|
||||
}
|
@ -1,10 +1,110 @@
|
||||
using Foundation;
|
||||
using eShopOnContainers.Core.Controls;
|
||||
using eShopOnContainers.iOS.Renderers;
|
||||
using Foundation;
|
||||
using System.Threading.Tasks;
|
||||
using UIKit;
|
||||
using Xamarin.Forms;
|
||||
using Xamarin.Forms.Platform.iOS;
|
||||
|
||||
[assembly: ExportRenderer(typeof(TabbedPage), typeof(CustomTabbedPageRenderer))]
|
||||
namespace eShopOnContainers.iOS.Renderers
|
||||
{
|
||||
[Preserve]
|
||||
public class CustomTabbedPageRenderer : TabbedRenderer
|
||||
{
|
||||
public override void ViewWillAppear(bool animated)
|
||||
{
|
||||
base.ViewWillAppear(animated);
|
||||
|
||||
for (var i = 0; i < TabBar.Items.Length; i++)
|
||||
{
|
||||
AddTabBadge(i);
|
||||
}
|
||||
|
||||
Element.ChildAdded += OnTabAdded;
|
||||
Element.ChildRemoved += OnTabRemoved;
|
||||
}
|
||||
|
||||
private void AddTabBadge(int tabIndex)
|
||||
{
|
||||
var element = Tabbed.Children[tabIndex];
|
||||
element.PropertyChanged += OnTabbedPagePropertyChanged;
|
||||
|
||||
if (TabBar.Items.Length > tabIndex)
|
||||
{
|
||||
var tabBarItem = TabBar.Items[tabIndex];
|
||||
UpdateTabBadgeText(tabBarItem, element);
|
||||
|
||||
var tabColor = CustomTabbedPage.GetBadgeColor(element);
|
||||
if (tabColor != Color.Default)
|
||||
{
|
||||
tabBarItem.BadgeColor = tabColor.ToUIColor();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private void UpdateTabBadgeText(UITabBarItem tabBarItem, Element element)
|
||||
{
|
||||
var text = CustomTabbedPage.GetBadgeText(element);
|
||||
|
||||
tabBarItem.BadgeValue = string.IsNullOrEmpty(text) ? null : text;
|
||||
}
|
||||
|
||||
private void OnTabbedPagePropertyChanged(object sender, System.ComponentModel.PropertyChangedEventArgs e)
|
||||
{
|
||||
var page = sender as Page;
|
||||
if (page == null)
|
||||
return;
|
||||
|
||||
if (e.PropertyName == CustomTabbedPage.BadgeTextProperty.PropertyName)
|
||||
{
|
||||
var tabIndex = Tabbed.Children.IndexOf(page);
|
||||
|
||||
if (tabIndex < TabBar.Items.Length)
|
||||
UpdateTabBadgeText(TabBar.Items[tabIndex], page);
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
if (e.PropertyName == CustomTabbedPage.BadgeColorProperty.PropertyName)
|
||||
{
|
||||
var tabIndex = Tabbed.Children.IndexOf(page);
|
||||
if (tabIndex < TabBar.Items.Length)
|
||||
TabBar.Items[tabIndex].BadgeColor = CustomTabbedPage.GetBadgeColor(page).ToUIColor();
|
||||
}
|
||||
}
|
||||
|
||||
private async void OnTabAdded(object sender, ElementEventArgs e)
|
||||
{
|
||||
await Task.Delay(10);
|
||||
|
||||
var page = e.Element as Page;
|
||||
if (page == null)
|
||||
return;
|
||||
|
||||
var tabIndex = Tabbed.Children.IndexOf(page);
|
||||
AddTabBadge(tabIndex);
|
||||
}
|
||||
|
||||
private void OnTabRemoved(object sender, ElementEventArgs e)
|
||||
{
|
||||
e.Element.PropertyChanged -= OnTabbedPagePropertyChanged;
|
||||
}
|
||||
|
||||
protected override void Dispose(bool disposing)
|
||||
{
|
||||
if (Tabbed != null)
|
||||
{
|
||||
foreach (var tab in Tabbed.Children)
|
||||
{
|
||||
tab.PropertyChanged -= OnTabbedPagePropertyChanged;
|
||||
}
|
||||
|
||||
Tabbed.ChildAdded -= OnTabAdded;
|
||||
Tabbed.ChildRemoved -= OnTabRemoved;
|
||||
}
|
||||
|
||||
base.Dispose(disposing);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
@ -0,0 +1,68 @@
|
||||
using System;
|
||||
using CoreGraphics;
|
||||
using eShopOnContainers.Core.Views;
|
||||
using eShopOnContainers.iOS;
|
||||
using SlideOverKit.iOS;
|
||||
using UIKit;
|
||||
using Xamarin.Forms;
|
||||
using Xamarin.Forms.Platform.iOS;
|
||||
|
||||
[assembly: ExportRenderer(typeof(CatalogView), typeof(SlideDownMenuPageRenderer))]
|
||||
namespace eShopOnContainers.iOS
|
||||
{
|
||||
public class SlideDownMenuPageRenderer : PageRenderer, ISlideOverKitPageRendereriOS
|
||||
{
|
||||
public Action<bool> ViewDidAppearEvent { get; set; }
|
||||
|
||||
public Action<VisualElementChangedEventArgs> OnElementChangedEvent { get; set; }
|
||||
|
||||
public Action ViewDidLayoutSubviewsEvent { get; set; }
|
||||
|
||||
public Action<bool> ViewDidDisappearEvent { get; set; }
|
||||
|
||||
public Action<CGSize, IUIViewControllerTransitionCoordinator> ViewWillTransitionToSizeEvent { get; set; }
|
||||
|
||||
public SlideDownMenuPageRenderer()
|
||||
{
|
||||
new SlideOverKitiOSHandler().Init(this);
|
||||
}
|
||||
|
||||
protected override void OnElementChanged(VisualElementChangedEventArgs e)
|
||||
{
|
||||
base.OnElementChanged(e);
|
||||
|
||||
if (OnElementChangedEvent != null)
|
||||
OnElementChangedEvent(e);
|
||||
}
|
||||
|
||||
public override void ViewDidLayoutSubviews()
|
||||
{
|
||||
base.ViewDidLayoutSubviews();
|
||||
if (ViewDidLayoutSubviewsEvent != null)
|
||||
ViewDidLayoutSubviewsEvent();
|
||||
|
||||
}
|
||||
|
||||
public override void ViewDidAppear(bool animated)
|
||||
{
|
||||
base.ViewDidAppear(animated);
|
||||
if (ViewDidAppearEvent != null)
|
||||
ViewDidAppearEvent(animated);
|
||||
|
||||
}
|
||||
|
||||
public override void ViewDidDisappear(bool animated)
|
||||
{
|
||||
base.ViewDidDisappear(animated);
|
||||
if (ViewDidDisappearEvent != null)
|
||||
ViewDidDisappearEvent(animated);
|
||||
}
|
||||
|
||||
public override void ViewWillTransitionToSize(CGSize toSize, IUIViewControllerTransitionCoordinator coordinator)
|
||||
{
|
||||
base.ViewWillTransitionToSize(toSize, coordinator);
|
||||
if (ViewWillTransitionToSizeEvent != null)
|
||||
ViewWillTransitionToSizeEvent(toSize, coordinator);
|
||||
}
|
||||
}
|
||||
}
|
Before Width: | Height: | Size: 8.7 KiB After Width: | Height: | Size: 88 KiB |
Before Width: | Height: | Size: 10 KiB After Width: | Height: | Size: 121 KiB |
Before Width: | Height: | Size: 34 KiB After Width: | Height: | Size: 276 KiB |
Before Width: | Height: | Size: 7.1 KiB After Width: | Height: | Size: 36 KiB |
Before Width: | Height: | Size: 8.2 KiB After Width: | Height: | Size: 97 KiB |
Before Width: | Height: | Size: 1.2 KiB After Width: | Height: | Size: 4.3 KiB |
Before Width: | Height: | Size: 2.2 KiB After Width: | Height: | Size: 9.6 KiB |
Before Width: | Height: | Size: 1.1 KiB After Width: | Height: | Size: 1.5 KiB |
Before Width: | Height: | Size: 955 B After Width: | Height: | Size: 3.3 KiB |
Before Width: | Height: | Size: 7.1 KiB After Width: | Height: | Size: 5.3 KiB |
After Width: | Height: | Size: 1.2 KiB |
After Width: | Height: | Size: 1.4 KiB |
After Width: | Height: | Size: 2.0 KiB |
After Width: | Height: | Size: 1.0 KiB |
After Width: | Height: | Size: 1023 B |
After Width: | Height: | Size: 1.3 KiB |
After Width: | Height: | Size: 1.1 KiB |
After Width: | Height: | Size: 1.4 KiB |
After Width: | Height: | Size: 1.7 KiB |
After Width: | Height: | Size: 1009 B |
After Width: | Height: | Size: 1.1 KiB |
After Width: | Height: | Size: 1.1 KiB |
@ -24,8 +24,20 @@
|
||||
<WarningLevel>4</WarningLevel>
|
||||
<ConsolePause>false</ConsolePause>
|
||||
<MtouchArch>i386, x86_64</MtouchArch>
|
||||
<MtouchLink>None</MtouchLink>
|
||||
<MtouchDebug>true</MtouchDebug>
|
||||
<MtouchLink>SdkOnly</MtouchLink>
|
||||
<MtouchDebug>True</MtouchDebug>
|
||||
<MtouchSdkVersion>10.1</MtouchSdkVersion>
|
||||
<MtouchProfiling>False</MtouchProfiling>
|
||||
<MtouchFastDev>False</MtouchFastDev>
|
||||
<MtouchUseLlvm>False</MtouchUseLlvm>
|
||||
<MtouchUseThumb>False</MtouchUseThumb>
|
||||
<MtouchEnableBitcode>False</MtouchEnableBitcode>
|
||||
<MtouchUseSGen>False</MtouchUseSGen>
|
||||
<MtouchUseRefCounting>False</MtouchUseRefCounting>
|
||||
<OptimizePNGs>True</OptimizePNGs>
|
||||
<MtouchTlsProvider>Default</MtouchTlsProvider>
|
||||
<MtouchHttpClientHandler>HttpClientHandler</MtouchHttpClientHandler>
|
||||
<MtouchFloat32>False</MtouchFloat32>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|iPhoneSimulator' ">
|
||||
<DebugType>none</DebugType>
|
||||
@ -100,7 +112,9 @@
|
||||
<BundleResource Include="..\CommonResources\Fonts\SourceSansPro-Regular.ttf">
|
||||
<Link>Resources\fonts\SourceSansPro-Regular.ttf</Link>
|
||||
</BundleResource>
|
||||
<Compile Include="Renderers\CustomSwitchRenderer.cs" />
|
||||
<Compile Include="Renderers\CustomTabbedPageRenderer.cs" />
|
||||
<Compile Include="Renderers\SlideDownMenuPageRenderer.cs" />
|
||||
<None Include="app.config" />
|
||||
<None Include="Entitlements.plist" />
|
||||
<None Include="Info.plist" />
|
||||
@ -246,6 +260,42 @@
|
||||
<ItemGroup>
|
||||
<BundleResource Include="Resources\fake_product_05.png" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<BundleResource Include="Resources\menu_cart.png" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<BundleResource Include="Resources\menu_cart%402x.png" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<BundleResource Include="Resources\menu_cart%403x.png" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<BundleResource Include="Resources\menu_filter.png" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<BundleResource Include="Resources\menu_filter%402x.png" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<BundleResource Include="Resources\menu_filter%403x.png" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<BundleResource Include="Resources\menu_profile.png" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<BundleResource Include="Resources\menu_profile%402x.png" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<BundleResource Include="Resources\menu_profile%403x.png" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<BundleResource Include="Resources\product_add.png" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<BundleResource Include="Resources\product_add%402x.png" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<BundleResource Include="Resources\product_add%403x.png" />
|
||||
</ItemGroup>
|
||||
<Import Project="$(MSBuildExtensionsPath)\Xamarin\iOS\Xamarin.iOS.CSharp.targets" />
|
||||
<Target Name="EnsureNuGetPackageBuildImports" BeforeTargets="PrepareForBuild">
|
||||
<PropertyGroup>
|
||||
|