diff --git a/CaroselChallenge.gif b/CaroselChallenge.gif new file mode 100644 index 0000000..556f095 Binary files /dev/null and b/CaroselChallenge.gif differ diff --git a/CarouselViewChallenge/CarouselViewChallenge.Android/CarouselViewChallenge.Android.csproj b/CarouselViewChallenge/CarouselViewChallenge.Android/CarouselViewChallenge.Android.csproj index 1e33499..c8f34ae 100644 --- a/CarouselViewChallenge/CarouselViewChallenge.Android/CarouselViewChallenge.Android.csproj +++ b/CarouselViewChallenge/CarouselViewChallenge.Android/CarouselViewChallenge.Android.csproj @@ -15,7 +15,6 @@ Properties\AndroidManifest.xml Resources Assets - false v9.0 true true @@ -54,7 +53,7 @@ - + @@ -96,9 +95,9 @@ - {1AD32EAF-CE1F-497F-8598-87F19CDA3D10} + {A9F8B9B3-719F-4F40-9044-924E7B921409} CarouselViewChallenge - + \ No newline at end of file diff --git a/CarouselViewChallenge/CarouselViewChallenge.Android/Properties/AndroidManifest.xml b/CarouselViewChallenge/CarouselViewChallenge.Android/Properties/AndroidManifest.xml index f37a67c..06d3722 100644 --- a/CarouselViewChallenge/CarouselViewChallenge.Android/Properties/AndroidManifest.xml +++ b/CarouselViewChallenge/CarouselViewChallenge.Android/Properties/AndroidManifest.xml @@ -1,6 +1,6 @@ - + - - - - + + + + \ No newline at end of file diff --git a/CarouselViewChallenge/CarouselViewChallenge.iOS/CarouselViewChallenge.iOS.csproj b/CarouselViewChallenge/CarouselViewChallenge.iOS/CarouselViewChallenge.iOS.csproj index 6241d2c..06a0833 100644 --- a/CarouselViewChallenge/CarouselViewChallenge.iOS/CarouselViewChallenge.iOS.csproj +++ b/CarouselViewChallenge/CarouselViewChallenge.iOS/CarouselViewChallenge.iOS.csproj @@ -135,7 +135,7 @@ - {1AD32EAF-CE1F-497F-8598-87F19CDA3D10} + {A9F8B9B3-719F-4F40-9044-924E7B921409} CarouselViewChallenge diff --git a/CarouselViewChallenge/CarouselViewChallenge/CarouselViewChallenge.csproj b/CarouselViewChallenge/CarouselViewChallenge/CarouselViewChallenge.csproj index a58ec88..a1a3e9b 100644 --- a/CarouselViewChallenge/CarouselViewChallenge/CarouselViewChallenge.csproj +++ b/CarouselViewChallenge/CarouselViewChallenge/CarouselViewChallenge.csproj @@ -5,6 +5,24 @@ true + + + + + + + + + + + + + + + + + + @@ -20,9 +38,4 @@ - - - MSBuild:UpdateDesignTimeXaml - - diff --git a/CarouselViewChallenge/CarouselViewChallenge/Resources/Drone-Background-PNG.png b/CarouselViewChallenge/CarouselViewChallenge/Resources/Drone-Background-PNG.png new file mode 100644 index 0000000..cf474a2 Binary files /dev/null and b/CarouselViewChallenge/CarouselViewChallenge/Resources/Drone-Background-PNG.png differ diff --git a/CarouselViewChallenge/CarouselViewChallenge/Resources/Drone-PNG-Background-Image.png b/CarouselViewChallenge/CarouselViewChallenge/Resources/Drone-PNG-Background-Image.png new file mode 100644 index 0000000..b331344 Binary files /dev/null and b/CarouselViewChallenge/CarouselViewChallenge/Resources/Drone-PNG-Background-Image.png differ diff --git a/CarouselViewChallenge/CarouselViewChallenge/Resources/Drone-PNG-Image.png b/CarouselViewChallenge/CarouselViewChallenge/Resources/Drone-PNG-Image.png new file mode 100644 index 0000000..8ba703e Binary files /dev/null and b/CarouselViewChallenge/CarouselViewChallenge/Resources/Drone-PNG-Image.png differ diff --git a/CarouselViewChallenge/CarouselViewChallenge/Resources/Drone-PNG-Transparent-Image.png b/CarouselViewChallenge/CarouselViewChallenge/Resources/Drone-PNG-Transparent-Image.png new file mode 100644 index 0000000..083962a Binary files /dev/null and b/CarouselViewChallenge/CarouselViewChallenge/Resources/Drone-PNG-Transparent-Image.png differ diff --git a/CarouselViewChallenge/CarouselViewChallenge/Resources/Drone-PNG-Transparent-Picture.png b/CarouselViewChallenge/CarouselViewChallenge/Resources/Drone-PNG-Transparent-Picture.png new file mode 100644 index 0000000..f65d6fc Binary files /dev/null and b/CarouselViewChallenge/CarouselViewChallenge/Resources/Drone-PNG-Transparent-Picture.png differ diff --git a/CarouselViewChallenge/CarouselViewChallenge/Resources/blackDrone.png b/CarouselViewChallenge/CarouselViewChallenge/Resources/blackDrone.png new file mode 100644 index 0000000..dbd23ba Binary files /dev/null and b/CarouselViewChallenge/CarouselViewChallenge/Resources/blackDrone.png differ diff --git a/CarouselViewChallenge/CarouselViewChallenge/ViewModels/CaroselViewChallengePageViewModel.cs b/CarouselViewChallenge/CarouselViewChallenge/ViewModels/CaroselViewChallengePageViewModel.cs new file mode 100644 index 0000000..874796c --- /dev/null +++ b/CarouselViewChallenge/CarouselViewChallenge/ViewModels/CaroselViewChallengePageViewModel.cs @@ -0,0 +1,57 @@ +using System; +using System.Collections.Generic; +using System.Collections.ObjectModel; +using System.ComponentModel; +using System.Text; +using Xamarin.Forms; + +namespace CarouselViewChallenge.ViewModels +{ + public class ItemClass + { + public string ItemText {get; set;} + public ImageSource Image { get; set; } + public string Description { get; set; } + public string Price { get; set; } + } + + public class CaroselViewChallengePageViewModel : INotifyPropertyChanged + { + public event PropertyChangedEventHandler PropertyChanged; + + public ObservableCollection _items { get; set; } + + public CaroselViewChallengePageViewModel() + { + _items = new ObservableCollection + { + new ItemClass + { + ItemText = "Movic Air Platinum", + Image = ImageSource.FromResource("CarouselViewChallenge.Resources.blackDrone.png"), + Description = "Creates highly accurate and detailed models of whatever area is being scanned.", + Price = "Price $714,00" + }, + new ItemClass + { + ItemText = "AirCraft", + Image = ImageSource.FromResource("CarouselViewChallenge.Resources.Drone-PNG-Transparent-Picture.png"), + Description = "These models can be used to extrapolate accurate measurements of distance and volume from building locations", + Price = "Price $1.230,00" + }, + new ItemClass + { + ItemText = "White Ghost", + Image = ImageSource.FromResource("CarouselViewChallenge.Resources.Drone-PNG-Image.png"), + Description = "Has a distinct advantage over traditional aerial photogrammetry by being able to penetrate dense canopies", + Price = "Price $892,00" + } + }; + } + + private void OnPropertyChanged(PropertyChangedEventArgs eventArgs) + { + PropertyChanged?.Invoke(this, eventArgs); + } + } +} diff --git a/CarouselViewChallenge/CarouselViewChallenge/Views/CarouselViewChallengePage.xaml b/CarouselViewChallenge/CarouselViewChallenge/Views/CarouselViewChallengePage.xaml index 1a7cc0d..3cf5125 100644 --- a/CarouselViewChallenge/CarouselViewChallenge/Views/CarouselViewChallengePage.xaml +++ b/CarouselViewChallenge/CarouselViewChallenge/Views/CarouselViewChallengePage.xaml @@ -6,8 +6,72 @@ mc:Ignorable="d" x:Class="CarouselViewChallenge.Views.CarouselViewChallengePage"> - - \ No newline at end of file diff --git a/CarouselViewChallenge/CarouselViewChallenge/Views/CarouselViewChallengePage.xaml.cs b/CarouselViewChallenge/CarouselViewChallenge/Views/CarouselViewChallengePage.xaml.cs index 38f2e9f..6d6ccd6 100644 --- a/CarouselViewChallenge/CarouselViewChallenge/Views/CarouselViewChallengePage.xaml.cs +++ b/CarouselViewChallenge/CarouselViewChallenge/Views/CarouselViewChallengePage.xaml.cs @@ -1,9 +1,4 @@ -using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using System.Threading.Tasks; - +using CarouselViewChallenge.ViewModels; using Xamarin.Forms; using Xamarin.Forms.Xaml; @@ -12,9 +7,14 @@ namespace CarouselViewChallenge.Views [XamlCompilation(XamlCompilationOptions.Compile)] public partial class CarouselViewChallengePage : ContentPage { + public CaroselViewChallengePageViewModel ViewModel { get; set; } public CarouselViewChallengePage() { InitializeComponent(); + + ViewModel = new CaroselViewChallengePageViewModel(); + + BindingContext = ViewModel; } } } \ No newline at end of file