├── .gitignore
├── Forms.Controls.Android
├── CheckboxRenderer.cs
├── Forms.Controls.Android.csproj
├── Messier16Controls.cs
├── Native
│ ├── RatingBar
│ │ └── Messier16RatingBar.cs
│ └── SegmentedControl
│ │ └── SegmentedControlButton.cs
├── Properties
│ └── AssemblyInfo.cs
├── RatingBarRenderer.cs
├── Resources
│ ├── AboutResources.txt
│ ├── Color
│ │ └── segmented_control_text.xml
│ ├── Drawable
│ │ ├── segmented_control_background.xml
│ │ ├── segmented_control_first_background.xml
│ │ └── segmented_control_last_background.xml
│ ├── Layout
│ │ └── SegmentedControl.axml
│ └── Values
│ │ ├── Attrs.xml
│ │ ├── Colors.xml
│ │ ├── Dimens.xml
│ │ ├── Strings.xml
│ │ └── Styles.xml
├── SegmentedControlRenderer.cs
└── packages.config
├── Forms.Controls.Uwp
├── CheckboxRenderer.cs
├── Forms.Controls.Uwp.csproj
├── Messier16Controls.cs
├── Native
│ └── RatingBar
│ │ ├── RatingBar.xaml
│ │ └── RatingBar.xaml.cs
├── Properties
│ ├── AssemblyInfo.cs
│ ├── Forms.Controls.Uwp.rd.xml
│ └── Forms.Uwp.Controls.rd.xml
├── RatingBarRenderer.cs
└── SegmentedControlRenderer.cs
├── Forms.Controls.iOS
├── CheckboxRenderer.cs
├── Forms.Controls.iOS.csproj
├── GenericEventArgs.cs
├── Messier16Controls.cs
├── Native
│ ├── Checkbox
│ │ └── Checkbox.cs
│ ├── RatingBar
│ │ ├── Misc.cs
│ │ └── RatingBar.cs
│ └── UIColorExtensions.cs
├── Properties
│ └── AssemblyInfo.cs
├── RatingBarRenderer.cs
├── SegmentedControlRenderer.cs
└── packages.config
├── Forms.Controls
├── Checkbox.cs
├── Forms.Controls.csproj
├── RatingBar.cs
├── SegmentedControl.cs
└── SegmentedControlOption.cs
├── LICENSE
├── Messier16.Forms.Controls.nuspec
├── Messier16.Forms.Controls.sln
├── README.md
├── Sample
├── FormsControlsApp.sln
├── SampleLocalApp.sln
├── SampleLocalApp
│ ├── SampleLocalApp.Android
│ │ ├── Assets
│ │ │ └── AboutAssets.txt
│ │ ├── MainActivity.cs
│ │ ├── Properties
│ │ │ ├── AndroidManifest.xml
│ │ │ └── AssemblyInfo.cs
│ │ ├── Resources
│ │ │ ├── AboutResources.txt
│ │ │ ├── drawable-hdpi
│ │ │ │ ├── code.png
│ │ │ │ ├── icon.png
│ │ │ │ └── xaml.png
│ │ │ ├── drawable-xhdpi
│ │ │ │ ├── code.png
│ │ │ │ ├── config.png
│ │ │ │ ├── hashtag.png
│ │ │ │ ├── home.png
│ │ │ │ ├── icon.png
│ │ │ │ ├── message.png
│ │ │ │ └── xaml.png
│ │ │ ├── drawable-xxhdpi
│ │ │ │ ├── config.png
│ │ │ │ ├── hashtag.png
│ │ │ │ ├── home.png
│ │ │ │ ├── icon.png
│ │ │ │ └── message.png
│ │ │ ├── drawable-xxxhdpi
│ │ │ │ ├── config.png
│ │ │ │ ├── hashtag.png
│ │ │ │ ├── home.png
│ │ │ │ └── message.png
│ │ │ ├── drawable
│ │ │ │ ├── code.png
│ │ │ │ ├── icon.png
│ │ │ │ └── xaml.png
│ │ │ ├── layout
│ │ │ │ ├── Tabbar.axml
│ │ │ │ ├── Toolbar.axml
│ │ │ │ └── tabs.axml
│ │ │ ├── mipmap-hdpi
│ │ │ │ └── Icon.png
│ │ │ ├── mipmap-mdpi
│ │ │ │ └── Icon.png
│ │ │ ├── mipmap-xhdpi
│ │ │ │ └── Icon.png
│ │ │ ├── mipmap-xxhdpi
│ │ │ │ └── Icon.png
│ │ │ ├── mipmap-xxxhdpi
│ │ │ │ └── Icon.png
│ │ │ └── values
│ │ │ │ ├── Strings.xml
│ │ │ │ ├── colors.xml
│ │ │ │ ├── style.xml
│ │ │ │ └── styles.xml
│ │ └── SampleLocalApp.Android.csproj
│ ├── SampleLocalApp.UWP
│ │ ├── App.xaml
│ │ ├── App.xaml.cs
│ │ ├── Assets
│ │ │ ├── LockScreenLogo.scale-100.png
│ │ │ ├── LockScreenLogo.scale-125.png
│ │ │ ├── LockScreenLogo.scale-150.png
│ │ │ ├── LockScreenLogo.scale-200.png
│ │ │ ├── LockScreenLogo.scale-400.png
│ │ │ ├── SplashScreen.scale-100.png
│ │ │ ├── SplashScreen.scale-125.png
│ │ │ ├── SplashScreen.scale-150.png
│ │ │ ├── SplashScreen.scale-200.png
│ │ │ ├── SplashScreen.scale-400.png
│ │ │ ├── Square150x150Logo.scale-100.png
│ │ │ ├── Square150x150Logo.scale-125.png
│ │ │ ├── Square150x150Logo.scale-150.png
│ │ │ ├── Square150x150Logo.scale-200.png
│ │ │ ├── Square150x150Logo.scale-400.png
│ │ │ ├── Square44x44Logo.scale-100.png
│ │ │ ├── Square44x44Logo.scale-125.png
│ │ │ ├── Square44x44Logo.scale-150.png
│ │ │ ├── Square44x44Logo.scale-200.png
│ │ │ ├── Square44x44Logo.scale-400.png
│ │ │ ├── Square44x44Logo.targetsize-16_altform-unplated.png
│ │ │ ├── Square44x44Logo.targetsize-24_altform-unplated.png
│ │ │ ├── Square44x44Logo.targetsize-256_altform-unplated.png
│ │ │ ├── Square44x44Logo.targetsize-32_altform-unplated.png
│ │ │ ├── Square44x44Logo.targetsize-48_altform-unplated.png
│ │ │ ├── StoreLogo.png
│ │ │ ├── Wide310x150Logo.scale-100.png
│ │ │ ├── Wide310x150Logo.scale-125.png
│ │ │ ├── Wide310x150Logo.scale-150.png
│ │ │ ├── Wide310x150Logo.scale-200.png
│ │ │ └── Wide310x150Logo.scale-400.png
│ │ ├── MainPage.xaml
│ │ ├── MainPage.xaml.cs
│ │ ├── Package.appxmanifest
│ │ ├── Properties
│ │ │ ├── AssemblyInfo.cs
│ │ │ └── Default.rd.xml
│ │ └── SampleLocalApp.UWP.csproj
│ ├── SampleLocalApp.iOS
│ │ ├── AppDelegate.cs
│ │ ├── Entitlements.plist
│ │ ├── Info.plist
│ │ ├── Main.cs
│ │ ├── Properties
│ │ │ └── AssemblyInfo.cs
│ │ ├── Resources
│ │ │ ├── Default-568h@2x.png
│ │ │ ├── Default-Portrait.png
│ │ │ ├── Default-Portrait@2x.png
│ │ │ ├── Default.png
│ │ │ ├── Default@2x.png
│ │ │ ├── Icon-60@2x.png
│ │ │ ├── Icon-60@3x.png
│ │ │ ├── Icon-76.png
│ │ │ ├── Icon-76@2x.png
│ │ │ ├── Icon-Small-40.png
│ │ │ ├── Icon-Small-40@2x.png
│ │ │ ├── Icon-Small-40@3x.png
│ │ │ ├── Icon-Small.png
│ │ │ ├── Icon-Small@2x.png
│ │ │ ├── Icon-Small@3x.png
│ │ │ ├── LaunchScreen.storyboard
│ │ │ ├── beer.png
│ │ │ ├── beer@2x.png
│ │ │ ├── beer@3x.png
│ │ │ ├── beer_filled.png
│ │ │ ├── beer_filled@2x.png
│ │ │ ├── beer_filled@3x.png
│ │ │ ├── code.png
│ │ │ ├── code@2x.png
│ │ │ ├── code@3x.png
│ │ │ ├── config@2x.png
│ │ │ ├── config@3x.png
│ │ │ ├── config_active@2x.png
│ │ │ ├── config_active@3x.png
│ │ │ ├── hashtag@2x.png
│ │ │ ├── hashtag@3x.png
│ │ │ ├── hashtag_active@2x.png
│ │ │ ├── hashtag_active@3x.png
│ │ │ ├── home@2x.png
│ │ │ ├── home@3x.png
│ │ │ ├── home_active@2x.png
│ │ │ ├── home_active@3x.png
│ │ │ ├── message@2x.png
│ │ │ ├── message@3x.png
│ │ │ ├── message_active@2x.png
│ │ │ ├── message_active@3x.png
│ │ │ ├── star.png
│ │ │ ├── star@2x.png
│ │ │ ├── star@3x.png
│ │ │ ├── star_filled.png
│ │ │ ├── star_filled@2x.png
│ │ │ ├── star_filled@3x.png
│ │ │ ├── xaml.png
│ │ │ ├── xaml@2x.png
│ │ │ └── xaml@3x.png
│ │ ├── SampleLocalApp.iOS.csproj
│ │ └── packages.config
│ └── SampleLocalApp
│ │ ├── Controls
│ │ ├── ControlCell.cs
│ │ ├── ControlWrapper.cs
│ │ └── DoubleControlCell.cs
│ │ ├── Converters
│ │ ├── BoolToCheckedTextConverter.cs
│ │ └── NegateBooleanConverter.cs
│ │ ├── Pages
│ │ ├── CheckboxPage.cs
│ │ ├── CheckboxPages
│ │ │ ├── CheckboxCodePage.cs
│ │ │ ├── CheckboxListCodePage.cs
│ │ │ ├── CheckboxXamlPage.xaml
│ │ │ └── CheckboxXamlPage.xaml.cs
│ │ ├── HomePage.cs
│ │ ├── RatingBarPage.cs
│ │ ├── RatingBarPages
│ │ │ ├── RatingBarCodePage.cs
│ │ │ ├── RatingBarXamlPage.xaml
│ │ │ └── RatingBarXamlPage.xaml.cs
│ │ ├── SegmentedControlPage.cs
│ │ └── SegmentedControlPages
│ │ │ ├── SegmentedControlCodePage.cs
│ │ │ ├── SegmentedControlXamlPage.xaml
│ │ │ └── SegmentedControlXamlPage.xaml.cs
│ │ ├── SampleLocalApp.csproj
│ │ ├── TestApp.cs
│ │ └── ViewModels
│ │ ├── CheckboxViewModel.cs
│ │ ├── RatingBarViewModel.cs
│ │ ├── SegmentedControlViewModel.cs
│ │ └── ViewModelBase.cs
├── SampleNuGetApp.sln
└── SampleNuGetApp
│ ├── SampleNuGetApp.Android
│ ├── Assets
│ │ └── AboutAssets.txt
│ ├── MainActivity.cs
│ ├── Properties
│ │ ├── AndroidManifest.xml
│ │ └── AssemblyInfo.cs
│ ├── Resources
│ │ ├── AboutResources.txt
│ │ ├── drawable-hdpi
│ │ │ ├── code.png
│ │ │ ├── icon.png
│ │ │ └── xaml.png
│ │ ├── drawable-xhdpi
│ │ │ ├── code.png
│ │ │ ├── config.png
│ │ │ ├── hashtag.png
│ │ │ ├── home.png
│ │ │ ├── icon.png
│ │ │ ├── message.png
│ │ │ └── xaml.png
│ │ ├── drawable-xxhdpi
│ │ │ ├── config.png
│ │ │ ├── hashtag.png
│ │ │ ├── home.png
│ │ │ ├── icon.png
│ │ │ └── message.png
│ │ ├── drawable-xxxhdpi
│ │ │ ├── config.png
│ │ │ ├── hashtag.png
│ │ │ ├── home.png
│ │ │ └── message.png
│ │ ├── drawable
│ │ │ ├── code.png
│ │ │ ├── icon.png
│ │ │ └── xaml.png
│ │ ├── layout
│ │ │ ├── Tabbar.axml
│ │ │ ├── Toolbar.axml
│ │ │ └── tabs.axml
│ │ ├── mipmap-hdpi
│ │ │ └── Icon.png
│ │ ├── mipmap-mdpi
│ │ │ └── Icon.png
│ │ ├── mipmap-xhdpi
│ │ │ └── Icon.png
│ │ ├── mipmap-xxhdpi
│ │ │ └── Icon.png
│ │ ├── mipmap-xxxhdpi
│ │ │ └── Icon.png
│ │ └── values
│ │ │ ├── Strings.xml
│ │ │ ├── colors.xml
│ │ │ ├── style.xml
│ │ │ └── styles.xml
│ └── SampleNuGetApp.Android.csproj
│ ├── SampleNuGetApp.UWP
│ ├── App.xaml
│ ├── App.xaml.cs
│ ├── Assets
│ │ ├── LockScreenLogo.scale-100.png
│ │ ├── LockScreenLogo.scale-125.png
│ │ ├── LockScreenLogo.scale-150.png
│ │ ├── LockScreenLogo.scale-200.png
│ │ ├── LockScreenLogo.scale-400.png
│ │ ├── SplashScreen.scale-100.png
│ │ ├── SplashScreen.scale-125.png
│ │ ├── SplashScreen.scale-150.png
│ │ ├── SplashScreen.scale-200.png
│ │ ├── SplashScreen.scale-400.png
│ │ ├── Square150x150Logo.scale-100.png
│ │ ├── Square150x150Logo.scale-125.png
│ │ ├── Square150x150Logo.scale-150.png
│ │ ├── Square150x150Logo.scale-200.png
│ │ ├── Square150x150Logo.scale-400.png
│ │ ├── Square44x44Logo.scale-100.png
│ │ ├── Square44x44Logo.scale-125.png
│ │ ├── Square44x44Logo.scale-150.png
│ │ ├── Square44x44Logo.scale-200.png
│ │ ├── Square44x44Logo.scale-400.png
│ │ ├── Square44x44Logo.targetsize-16_altform-unplated.png
│ │ ├── Square44x44Logo.targetsize-24_altform-unplated.png
│ │ ├── Square44x44Logo.targetsize-256_altform-unplated.png
│ │ ├── Square44x44Logo.targetsize-32_altform-unplated.png
│ │ ├── Square44x44Logo.targetsize-48_altform-unplated.png
│ │ ├── StoreLogo.png
│ │ ├── Wide310x150Logo.scale-100.png
│ │ ├── Wide310x150Logo.scale-125.png
│ │ ├── Wide310x150Logo.scale-150.png
│ │ ├── Wide310x150Logo.scale-200.png
│ │ └── Wide310x150Logo.scale-400.png
│ ├── MainPage.xaml
│ ├── MainPage.xaml.cs
│ ├── Package.appxmanifest
│ ├── Properties
│ │ ├── AssemblyInfo.cs
│ │ └── Default.rd.xml
│ └── SampleNuGetApp.UWP.csproj
│ ├── SampleNuGetApp.iOS
│ ├── AppDelegate.cs
│ ├── Entitlements.plist
│ ├── Info.plist
│ ├── Main.cs
│ ├── Properties
│ │ └── AssemblyInfo.cs
│ ├── Resources
│ │ ├── Default-568h@2x.png
│ │ ├── Default-Portrait.png
│ │ ├── Default-Portrait@2x.png
│ │ ├── Default.png
│ │ ├── Default@2x.png
│ │ ├── Icon-60@2x.png
│ │ ├── Icon-60@3x.png
│ │ ├── Icon-76.png
│ │ ├── Icon-76@2x.png
│ │ ├── Icon-Small-40.png
│ │ ├── Icon-Small-40@2x.png
│ │ ├── Icon-Small-40@3x.png
│ │ ├── Icon-Small.png
│ │ ├── Icon-Small@2x.png
│ │ ├── Icon-Small@3x.png
│ │ ├── LaunchScreen.storyboard
│ │ ├── beer.png
│ │ ├── beer@2x.png
│ │ ├── beer@3x.png
│ │ ├── beer_filled.png
│ │ ├── beer_filled@2x.png
│ │ ├── beer_filled@3x.png
│ │ ├── code.png
│ │ ├── code@2x.png
│ │ ├── code@3x.png
│ │ ├── config@2x.png
│ │ ├── config@3x.png
│ │ ├── config_active@2x.png
│ │ ├── config_active@3x.png
│ │ ├── hashtag@2x.png
│ │ ├── hashtag@3x.png
│ │ ├── hashtag_active@2x.png
│ │ ├── hashtag_active@3x.png
│ │ ├── home@2x.png
│ │ ├── home@3x.png
│ │ ├── home_active@2x.png
│ │ ├── home_active@3x.png
│ │ ├── message@2x.png
│ │ ├── message@3x.png
│ │ ├── message_active@2x.png
│ │ ├── message_active@3x.png
│ │ ├── star.png
│ │ ├── star@2x.png
│ │ ├── star@3x.png
│ │ ├── star_filled.png
│ │ ├── star_filled@2x.png
│ │ ├── star_filled@3x.png
│ │ ├── xaml.png
│ │ ├── xaml@2x.png
│ │ └── xaml@3x.png
│ ├── SampleNuGetApp.iOS.csproj
│ ├── iTunesArtwork
│ ├── iTunesArtwork@2x
│ └── packages.config
│ └── SampleNuGetApp
│ ├── Controls
│ ├── ControlCell.cs
│ ├── ControlWrapper.cs
│ └── DoubleControlCell.cs
│ ├── Converters
│ ├── BoolToCheckedTextConverter.cs
│ └── NegateBooleanConverter.cs
│ ├── Pages
│ ├── CheckboxPage.cs
│ ├── CheckboxPages
│ │ ├── CheckboxCodePage.cs
│ │ ├── CheckboxListCodePage.cs
│ │ ├── CheckboxXamlPage.xaml
│ │ └── CheckboxXamlPage.xaml.cs
│ ├── HomePage.cs
│ ├── RatingBarPage.cs
│ ├── RatingBarPages
│ │ ├── RatingBarCodePage.cs
│ │ ├── RatingBarXamlPage.xaml
│ │ └── RatingBarXamlPage.xaml.cs
│ ├── SegmentedControlPage.cs
│ └── SegmentedControlPages
│ │ ├── SegmentedControlCodePage.cs
│ │ ├── SegmentedControlXamlPage.xaml
│ │ └── SegmentedControlXamlPage.xaml.cs
│ ├── SampleNuGetApp.csproj
│ ├── TestApp.cs
│ └── ViewModels
│ ├── CheckboxViewModel.cs
│ ├── RatingBarViewModel.cs
│ ├── SegmentedControlViewModel.cs
│ └── ViewModelBase.cs
└── appveyor.yml
/Forms.Controls.Android/Messier16Controls.cs:
--------------------------------------------------------------------------------
1 | namespace Messier16.Forms.Android.Controls
2 | {
3 | public class Messier16Controls
4 | {
5 | public static void InitAll()
6 | {
7 | SegmentedControlRenderer.Init();
8 | CheckboxRenderer.Init();
9 | RatingBarRenderer.Init();
10 | }
11 | }
12 | }
--------------------------------------------------------------------------------
/Forms.Controls.Android/Properties/AssemblyInfo.cs:
--------------------------------------------------------------------------------
1 | using System.Reflection;
2 | using System.Runtime.CompilerServices;
3 | using System.Runtime.InteropServices;
4 | using Android.App;
5 |
6 | // General Information about an assembly is controlled through the following
7 | // set of attributes. Change these attribute values to modify the information
8 | // associated with an assembly.
9 | [assembly: AssemblyTitle("Forms.Controls.Android")]
10 | [assembly: AssemblyDescription("")]
11 | [assembly: AssemblyConfiguration("")]
12 | [assembly: AssemblyCompany("")]
13 | [assembly: AssemblyProduct("Forms.Controls.Android")]
14 | [assembly: AssemblyCopyright("Copyright © 2018")]
15 | [assembly: AssemblyTrademark("")]
16 | [assembly: AssemblyCulture("")]
17 | [assembly: ComVisible(false)]
18 |
19 | // Version information for an assembly consists of the following four values:
20 | //
21 | // Major Version
22 | // Minor Version
23 | // Build Number
24 | // Revision
25 | //
26 | // You can specify all the values or you can default the Build and Revision Numbers
27 | // by using the '*' as shown below:
28 | // [assembly: AssemblyVersion("1.0.*")]
29 | [assembly: AssemblyVersion("1.0.0.0")]
30 | [assembly: AssemblyFileVersion("1.0.0.0")]
31 |
--------------------------------------------------------------------------------
/Forms.Controls.Android/Resources/AboutResources.txt:
--------------------------------------------------------------------------------
1 | Images, layout descriptions, binary blobs and string dictionaries can be included
2 | in your application as resource files. Various Android APIs are designed to
3 | operate on the resource IDs instead of dealing with images, strings or binary blobs
4 | directly.
5 |
6 | For example, a sample Android app that contains a user interface layout (main.axml),
7 | an internationalization string table (strings.xml) and some icons (drawable-XXX/icon.png)
8 | would keep its resources in the "Resources" directory of the application:
9 |
10 | Resources/
11 | drawable/
12 | icon.png
13 |
14 | layout/
15 | main.axml
16 |
17 | values/
18 | strings.xml
19 |
20 | In order to get the build system to recognize Android resources, set the build action to
21 | "AndroidResource". The native Android APIs do not operate directly with filenames, but
22 | instead operate on resource IDs. When you compile an Android application that uses resources,
23 | the build system will package the resources for distribution and generate a class called "R"
24 | (this is an Android convention) that contains the tokens for each one of the resources
25 | included. For example, for the above Resources layout, this is what the R class would expose:
26 |
27 | public class R {
28 | public class drawable {
29 | public const int icon = 0x123;
30 | }
31 |
32 | public class layout {
33 | public const int main = 0x456;
34 | }
35 |
36 | public class strings {
37 | public const int first_string = 0xabc;
38 | public const int second_string = 0xbcd;
39 | }
40 | }
41 |
42 | You would then use R.drawable.icon to reference the drawable/icon.png file, or R.layout.main
43 | to reference the layout/main.axml file, or R.strings.first_string to reference the first
44 | string in the dictionary file values/strings.xml.
--------------------------------------------------------------------------------
/Forms.Controls.Android/Resources/Color/segmented_control_text.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/Forms.Controls.Android/Resources/Drawable/segmented_control_background.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | -
5 |
6 |
7 |
8 |
9 |
10 | -
11 |
12 |
13 |
14 |
15 |
16 |
--------------------------------------------------------------------------------
/Forms.Controls.Android/Resources/Drawable/segmented_control_first_background.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | -
5 |
6 |
7 |
8 |
9 |
10 |
11 | -
12 |
13 |
14 |
15 |
16 |
17 |
18 |
--------------------------------------------------------------------------------
/Forms.Controls.Android/Resources/Drawable/segmented_control_last_background.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | -
5 |
6 |
7 |
8 |
9 |
10 |
11 | -
12 |
13 |
14 |
15 |
16 |
17 |
18 |
--------------------------------------------------------------------------------
/Forms.Controls.Android/Resources/Layout/SegmentedControl.axml:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/Forms.Controls.Android/Resources/Values/Attrs.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/Forms.Controls.Android/Resources/Values/Colors.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | #007aff
6 | #ffffff
7 | #007aff
8 |
9 | @color/highlight
10 |
11 |
--------------------------------------------------------------------------------
/Forms.Controls.Android/Resources/Values/Dimens.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | 24dp
5 | 10sp
6 |
--------------------------------------------------------------------------------
/Forms.Controls.Android/Resources/Values/Strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | Hello World, Click Me!
5 | $projectname$
6 |
--------------------------------------------------------------------------------
/Forms.Controls.Android/Resources/Values/Styles.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
23 |
--------------------------------------------------------------------------------
/Forms.Controls.Android/SegmentedControlRenderer.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Linq;
3 | using Android.Content;
4 | using Android.Widget;
5 | using Messier16.Forms.Android.Controls;
6 | using Messier16.Forms.Controls;
7 | using Xamarin.Forms;
8 | using Xamarin.Forms.Platform.Android;
9 |
10 | [assembly: ExportRenderer(typeof(SegmentedControl), typeof(SegmentedControlRenderer))]
11 |
12 | namespace Messier16.Forms.Android.Controls
13 | {
14 | public class SegmentedControlRenderer : ViewRenderer
15 | {
16 | public SegmentedControlRenderer(Context context) : base(context)
17 | {
18 |
19 | }
20 |
21 | ///
22 | /// Used for registration with dependency service
23 | ///
24 | public static void Init()
25 | {
26 | var temp = DateTime.Now;
27 | }
28 |
29 | protected override void OnElementChanged(ElementChangedEventArgs e)
30 | {
31 | base.OnElementChanged(e);
32 |
33 | if (e.NewElement != null)
34 | {
35 | if (Control == null)
36 | {
37 | var spinner = new Spinner(Context);
38 | var values = e.NewElement.Children.Select(option => option.Text).ToList();
39 | var adapter = new ArrayAdapter(Context, global::Android.Resource.Layout.SimpleDropDownItem1Line, values);
40 | spinner.Adapter = adapter;
41 | SetNativeControl(spinner);
42 | }
43 | Control.ItemSelected += Control_ItemSelected;
44 | }
45 | }
46 |
47 | private void Control_ItemSelected(object sender, AdapterView.ItemSelectedEventArgs e)
48 | {
49 | Element.SelectedIndex = e.Position;
50 | }
51 | }
52 | }
--------------------------------------------------------------------------------
/Forms.Controls.Android/packages.config:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
--------------------------------------------------------------------------------
/Forms.Controls.Uwp/Messier16Controls.cs:
--------------------------------------------------------------------------------
1 | namespace Messier16.Forms.Uwp.Controls
2 | {
3 | public static class Messier16Controls
4 | {
5 | public static void InitAll()
6 | {
7 | CheckboxRenderer.Init();
8 | RatingBarRenderer.Init();
9 | }
10 | }
11 | }
--------------------------------------------------------------------------------
/Forms.Controls.Uwp/Properties/AssemblyInfo.cs:
--------------------------------------------------------------------------------
1 | using System.Reflection;
2 | using System.Runtime.CompilerServices;
3 | using System.Runtime.InteropServices;
4 |
5 | // General Information about an assembly is controlled through the following
6 | // set of attributes. Change these attribute values to modify the information
7 | // associated with an assembly.
8 | [assembly: AssemblyTitle("Forms.Controls.Uwp")]
9 | [assembly: AssemblyDescription("")]
10 | [assembly: AssemblyConfiguration("")]
11 | [assembly: AssemblyCompany("")]
12 | [assembly: AssemblyProduct("Forms.Controls.Uwp")]
13 | [assembly: AssemblyCopyright("Copyright © 2018")]
14 | [assembly: AssemblyTrademark("")]
15 | [assembly: AssemblyCulture("")]
16 |
17 | // Version information for an assembly consists of the following four values:
18 | //
19 | // Major Version
20 | // Minor Version
21 | // Build Number
22 | // Revision
23 | //
24 | // You can specify all the values or you can default the Build and Revision Numbers
25 | // by using the '*' as shown below:
26 | // [assembly: AssemblyVersion("1.0.*")]
27 | [assembly: AssemblyVersion("1.0.0.0")]
28 | [assembly: AssemblyFileVersion("1.0.0.0")]
29 | [assembly: ComVisible(false)]
--------------------------------------------------------------------------------
/Forms.Controls.Uwp/Properties/Forms.Controls.Uwp.rd.xml:
--------------------------------------------------------------------------------
1 |
2 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
--------------------------------------------------------------------------------
/Forms.Controls.Uwp/Properties/Forms.Uwp.Controls.rd.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
--------------------------------------------------------------------------------
/Forms.Controls.Uwp/RatingBarRenderer.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using Windows.UI;
3 | using Windows.UI.Xaml.Media;
4 | using Messier16.Forms.Uwp.Controls;
5 | using Messier16.Forms.Uwp.Controls.Native.RatingBar;
6 | using Xamarin.Forms.Platform.UWP;
7 | using NativeRatingBar = Messier16.Forms.Uwp.Controls.Native.RatingBar.RatingBar;
8 | using RatingBar = Messier16.Forms.Controls.RatingBar;
9 |
10 |
11 | [assembly: ExportRenderer(typeof(RatingBar), typeof(RatingBarRenderer))]
12 |
13 | namespace Messier16.Forms.Uwp.Controls
14 | {
15 | public class RatingBarRenderer : ViewRenderer
16 | {
17 | ///
18 | /// Used for registration with dependency service
19 | ///
20 | public static void Init()
21 | {
22 | var temp = DateTime.Now;
23 | }
24 |
25 | protected override void OnElementChanged(ElementChangedEventArgs e)
26 | {
27 | base.OnElementChanged(e);
28 | if (e.OldElement != null || Element == null) return;
29 |
30 | if (Control == null)
31 | {
32 | // Instantiate the native control and assign it to the Control property
33 | var ratingBar = new NativeRatingBar
34 | {
35 | NumberOfStars = Element.MaxRating,
36 | RatingValue = Element.Rating,
37 | StarForegroundColor = new SolidColorBrush(Color.FromArgb(255, 10, 10, 10)),
38 | HeightValue = 30
39 | };
40 | SetNativeControl(ratingBar);
41 | }
42 |
43 | if (e.OldElement != null)
44 | Control.RatingValueChanged -= Control_RatingValueChanged;
45 | if (e.NewElement != null)
46 | Control.RatingValueChanged += Control_RatingValueChanged;
47 | }
48 |
49 | private void Control_RatingValueChanged(object sender, RatingValueChangedArgs args)
50 | {
51 | Element.Rating = args.Value;
52 | }
53 | }
54 | }
--------------------------------------------------------------------------------
/Forms.Controls.Uwp/SegmentedControlRenderer.cs:
--------------------------------------------------------------------------------
1 | namespace Messier16.Forms.Uwp.Controls
2 | {
3 | internal class SegmentedControlRenderer
4 | {
5 | }
6 | }
--------------------------------------------------------------------------------
/Forms.Controls.iOS/GenericEventArgs.cs:
--------------------------------------------------------------------------------
1 | using System;
2 |
3 | namespace Messier16.Forms.iOS.Controls
4 | {
5 | public class GenericEventArgs : EventArgs
6 | {
7 | public GenericEventArgs(T value)
8 | {
9 | Value = value;
10 | }
11 |
12 | public T Value { get; }
13 | }
14 | }
--------------------------------------------------------------------------------
/Forms.Controls.iOS/Messier16Controls.cs:
--------------------------------------------------------------------------------
1 | namespace Messier16.Forms.iOS.Controls
2 | {
3 | public static class Messier16Controls
4 | {
5 | public static void InitAll()
6 | {
7 | CheckboxRenderer.Init();
8 | RatingBarRenderer.Init();
9 | SegmentedControlRenderer.Init();
10 | }
11 | }
12 | }
--------------------------------------------------------------------------------
/Forms.Controls.iOS/Native/RatingBar/Misc.cs:
--------------------------------------------------------------------------------
1 | namespace Messier16.Forms.iOS.Controls.Native.RatingBar
2 | {
3 | public enum StarRatingDisplayMode
4 | {
5 | Full = 0,
6 | Half,
7 | Accurate
8 | }
9 | }
--------------------------------------------------------------------------------
/Forms.Controls.iOS/Native/UIColorExtensions.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using UIKit;
3 |
4 | namespace Messier16.Forms.iOS.Controls.Native
5 | {
6 | public static class UIColorExtensions
7 | {
8 | public static UIColor Lighter(this UIColor self, float percentage)
9 | {
10 | return self.Adjust(Math.Abs(percentage));
11 | }
12 |
13 | public static UIColor Darken(this UIColor self, float percentage)
14 | {
15 | return self.Adjust(-1 * Math.Abs(percentage));
16 | }
17 |
18 |
19 | public static UIColor Adjust(this UIColor self, float percentage)
20 | {
21 | nfloat r, g, b, a;
22 | self.GetRGBA(out r, out g, out b, out a);
23 |
24 | return new UIColor(
25 | (float) Math.Min(r + percentage / 100, 1f),
26 | (float) Math.Min(g + percentage / 100, 1f),
27 | (float) Math.Min(b + percentage / 100, 1f),
28 | a);
29 | }
30 | }
31 | }
--------------------------------------------------------------------------------
/Forms.Controls.iOS/Properties/AssemblyInfo.cs:
--------------------------------------------------------------------------------
1 | using System.Reflection;
2 | using System.Runtime.CompilerServices;
3 | using System.Runtime.InteropServices;
4 |
5 | // General Information about an assembly is controlled through the following
6 | // set of attributes. Change these attribute values to modify the information
7 | // associated with an assembly.
8 | [assembly: AssemblyTitle("Forms.Controls.iOS")]
9 | [assembly: AssemblyDescription("")]
10 | [assembly: AssemblyConfiguration("")]
11 | [assembly: AssemblyCompany("")]
12 | [assembly: AssemblyProduct("Forms.Controls.iOS")]
13 | [assembly: AssemblyCopyright("Copyright © 2018")]
14 | [assembly: AssemblyTrademark("")]
15 | [assembly: AssemblyCulture("")]
16 |
17 | // Setting ComVisible to false makes the types in this assembly not visible
18 | // to COM components. If you need to access a type in this assembly from
19 | // COM, set the ComVisible attribute to true on that type.
20 | [assembly: ComVisible(false)]
21 |
22 | // The following GUID is for the ID of the typelib if this project is exposed to COM
23 | [assembly: Guid("8b8ec841-5519-4987-873b-bb573cc49601")]
24 |
25 | // Version information for an assembly consists of the following four values:
26 | //
27 | // Major Version
28 | // Minor Version
29 | // Build Number
30 | // Revision
31 | //
32 | // You can specify all the values or you can default the Build and Revision Numbers
33 | // by using the '*' as shown below:
34 | // [assembly: AssemblyVersion("1.0.*")]
35 | [assembly: AssemblyVersion("1.0.0.0")]
36 | [assembly: AssemblyFileVersion("1.0.0.0")]
37 |
--------------------------------------------------------------------------------
/Forms.Controls.iOS/SegmentedControlRenderer.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.ComponentModel;
3 | using Messier16.Forms.Controls;
4 | using Messier16.Forms.iOS.Controls;
5 | using UIKit;
6 | using Xamarin.Forms;
7 | using Xamarin.Forms.Platform.iOS;
8 |
9 | [assembly: ExportRenderer(typeof(SegmentedControl), typeof(SegmentedControlRenderer))]
10 |
11 | namespace Messier16.Forms.iOS.Controls
12 | {
13 | public class SegmentedControlRenderer : ViewRenderer
14 | {
15 | ///
16 | /// Used for registration with dependency service
17 | ///
18 | public new static void Init()
19 | {
20 | var temp = DateTime.Now;
21 | }
22 |
23 | protected override void OnElementChanged(ElementChangedEventArgs e)
24 | {
25 | base.OnElementChanged(e);
26 |
27 |
28 | if (Control == null)
29 | {
30 | var segmentedControl = new UISegmentedControl();
31 | SetNativeControl(segmentedControl);
32 | }
33 |
34 | if (e.OldElement != null)
35 | Control.ValueChanged -= Control_ValueChanged;
36 |
37 | if (e.NewElement != null)
38 | {
39 | for (var i = 0; i < e.NewElement.Children.Count; i++)
40 | Control.InsertSegment(e.NewElement.Children[i].Text, i, false);
41 |
42 | Control.SelectedSegment = e.NewElement.SelectedIndex;
43 |
44 | Control.ValueChanged += Control_ValueChanged;
45 | }
46 | }
47 |
48 | private void Control_ValueChanged(object sender, EventArgs e)
49 | {
50 | Element.SelectedIndex = (int) Control.SelectedSegment;
51 | }
52 |
53 | protected override void OnElementPropertyChanged(object sender, PropertyChangedEventArgs e)
54 | {
55 | if (e.PropertyName.Equals(nameof(Element.SelectedIndex)))
56 | Control.SelectedSegment = Element.SelectedIndex;
57 | else
58 | base.OnElementPropertyChanged(sender, e);
59 | }
60 | }
61 | }
--------------------------------------------------------------------------------
/Forms.Controls.iOS/packages.config:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
--------------------------------------------------------------------------------
/Forms.Controls/Checkbox.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using Xamarin.Forms;
3 |
4 | namespace Messier16.Forms.Controls
5 | {
6 | public class Checkbox : View
7 | {
8 | public static readonly BindableProperty CheckedProperty =
9 | BindableProperty.Create(nameof(Checked), typeof(bool), typeof(Checkbox), false, BindingMode.TwoWay,
10 | propertyChanged: (bindable, oldValue, newValue) =>
11 | {
12 | ((Checkbox) bindable).CheckedChanged?.Invoke(bindable,
13 | new CheckedChangedEventArgs((bool) newValue));
14 | });
15 |
16 |
17 | public static readonly BindableProperty TickColorProperty =
18 | BindableProperty.Create(nameof(TickColor), typeof(Color), typeof(Checkbox), Color.Default,
19 | BindingMode.TwoWay);
20 |
21 | public static readonly BindableProperty CheckboxBackgroundColorProperty =
22 | BindableProperty.Create(nameof(CheckboxBackgroundColor), typeof(Color), typeof(Checkbox), Color.Default,
23 | BindingMode.TwoWay);
24 |
25 | public EventHandler CheckedChanged;
26 |
27 | public Color TickColor
28 | {
29 | get => (Color) GetValue(TickColorProperty);
30 | set => SetValue(TickColorProperty, value);
31 | }
32 |
33 | public Color CheckboxBackgroundColor
34 | {
35 | get => (Color) GetValue(CheckboxBackgroundColorProperty);
36 | set => SetValue(CheckboxBackgroundColorProperty, value);
37 | }
38 |
39 | public bool Checked
40 | {
41 | get => (bool) GetValue(CheckedProperty);
42 | set
43 | {
44 | if (Checked != value) SetValue(CheckedProperty, value);
45 | }
46 | }
47 | }
48 |
49 | public class CheckedChangedEventArgs : EventArgs
50 | {
51 | public CheckedChangedEventArgs(bool value)
52 | {
53 | Checked = value;
54 | }
55 |
56 | public bool Checked { get; }
57 | }
58 | }
--------------------------------------------------------------------------------
/Forms.Controls/Forms.Controls.csproj:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | netstandard2.0
5 | Messier16.Forms.Controls
6 | Messier16.Forms.Controls
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
--------------------------------------------------------------------------------
/Forms.Controls/RatingBar.cs:
--------------------------------------------------------------------------------
1 | using Xamarin.Forms;
2 |
3 | namespace Messier16.Forms.Controls
4 | {
5 | public class RatingBar : View
6 | {
7 | public static readonly BindableProperty RatingProperty =
8 | BindableProperty.Create(nameof(Rating), typeof(int), typeof(RatingBar), 0);
9 |
10 | public static readonly BindableProperty ImageProperty =
11 | BindableProperty.Create(nameof(Image), typeof(FileImageSource), typeof(RatingBar),
12 | default(FileImageSource));
13 |
14 | public static readonly BindableProperty FilledImageProperty =
15 | BindableProperty.Create(nameof(FilledImage), typeof(FileImageSource), typeof(RatingBar),
16 | default(FileImageSource));
17 |
18 | public static readonly BindableProperty FillColorProperty =
19 | BindableProperty.Create(nameof(FillColor), typeof(Color), typeof(RatingBar), default(Color));
20 |
21 | public int Rating
22 | {
23 | get => (int) GetValue(RatingProperty);
24 | set => SetValue(RatingProperty, value);
25 | }
26 |
27 | public FileImageSource Image
28 | {
29 | get => (FileImageSource) GetValue(ImageProperty);
30 | set => SetValue(ImageProperty, value);
31 | }
32 |
33 | public FileImageSource FilledImage
34 | {
35 | get => (FileImageSource) GetValue(FilledImageProperty);
36 | set => SetValue(FilledImageProperty, value);
37 | }
38 |
39 | public Color FillColor
40 | {
41 | get => (Color) GetValue(FillColorProperty);
42 | set => SetValue(FillColorProperty, value);
43 | }
44 |
45 | public int MaxRating { get; set; }
46 | }
47 | }
--------------------------------------------------------------------------------
/Forms.Controls/SegmentedControl.cs:
--------------------------------------------------------------------------------
1 | using System.Collections.Generic;
2 | using Xamarin.Forms;
3 |
4 | namespace Messier16.Forms.Controls
5 | {
6 | public class SegmentedControl : View, IViewContainer
7 | {
8 | public static readonly BindableProperty SelectedIndexProperty =
9 | BindableProperty.Create(nameof(SelectedIndex), typeof(int), typeof(SegmentedControl), 0);
10 |
11 | public SegmentedControl()
12 | {
13 | Children = new List();
14 | }
15 |
16 | // public static readonly BindableProperty SelectedTextProperty =
17 | // BindableProperty.Create(nameof(SelectedText), typeof (string), typeof (SegmentedControl),
18 | // defaultBindingMode: BindingMode.OneWayToSource);
19 |
20 | public int SelectedIndex
21 | {
22 | get => (int) GetValue(SelectedIndexProperty);
23 | set
24 | {
25 | SetValue(SelectedIndexProperty, value);
26 | OnPropertyChanged(nameof(SelectedText));
27 | }
28 | }
29 |
30 | public string SelectedText => Children[SelectedIndex].Text;
31 |
32 | public SegmentedControlOption this[int index] => Children[index];
33 |
34 | #region IViewContainer implementation
35 |
36 | public IList Children { get; }
37 |
38 | #endregion
39 | }
40 | }
--------------------------------------------------------------------------------
/Forms.Controls/SegmentedControlOption.cs:
--------------------------------------------------------------------------------
1 | using Xamarin.Forms;
2 |
3 | namespace Messier16.Forms.Controls
4 | {
5 | public class SegmentedControlOption : View
6 | {
7 | public static readonly BindableProperty TextProperty =
8 | BindableProperty.Create(nameof(Text), typeof(string), typeof(SegmentedControlOption), "");
9 |
10 | public string Text
11 | {
12 | get => (string) GetValue(TextProperty);
13 | set => SetValue(TextProperty, value);
14 | }
15 | }
16 | }
--------------------------------------------------------------------------------
/LICENSE:
--------------------------------------------------------------------------------
1 | MIT License
2 |
3 | Copyright (c) 2017 messier16
4 |
5 | Permission is hereby granted, free of charge, to any person obtaining a copy
6 | of this software and associated documentation files (the "Software"), to deal
7 | in the Software without restriction, including without limitation the rights
8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9 | copies of the Software, and to permit persons to whom the Software is
10 | furnished to do so, subject to the following conditions:
11 |
12 | The above copyright notice and this permission notice shall be included in all
13 | copies or substantial portions of the Software.
14 |
15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21 | SOFTWARE.
22 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 |
2 | # Forms.Controls
3 | Home of all Messier16 Xamarin.Forms controls 😁 (now .NET standarized1)
4 |
5 | Be aware that some functionality might have changed from the previous versions to the 2.X.X (the NET Standard one), if you find any errors (or something that used to work on your previous version but it doesn't anymore), please, submit an [issue](https://github.com/messier16/Forms.Controls/issues/new).
6 |
7 | See more Xamarin related posts here: [https://thatcsharpguy.com](https://thatcsharpguy.com/tag/Xamarin/)
8 |
9 | ## Installing this thing
10 |
11 | Get it on NuGet: [Messier16.Forms.Controls](https://www.nuget.org/packages/Messier16.Forms.Controls)
12 |
13 | ## Using this thing
14 |
15 | Make sure you call (as standard with most plugins) the following line in each and every of your client projects:
16 |
17 | ```
18 | Messier16Controls.InitAll();
19 | ```
20 |
21 | ### Per platform nuances
22 | There are some specific things that you must take into account when working with the controls, find the details below.
23 |
24 | #### Forms.Controls.iOS
25 | ##### For the RatingBar to work on iOS:
26 | - You must provide a pair of images as image resources, you'll need one to represent an empty rating state and a filled rating state. I have provided a couple of them ([star.png](https://github.com/messier16/Forms.Controls/blob/net-standard/Sample/SampleNuGetApp/SampleNuGetApp.iOS/Resources/star%403x.png) and [star_filled.png](https://github.com/messier16/Forms.Controls/blob/net-standard/Sample/SampleNuGetApp/SampleNuGetApp.iOS/Resources/star_filled%403x.png)) but I strongly suggest you provide your own images to tailor the experience in your app.
27 | - You **must set** the properties `FilledImage` and `Image` of the `RatingBar` object, to point to the previously mentioned files:
28 | ```
29 | ratingBar1.FilledImage = "star_filled.png";
30 | ratingBar1.Image = "star.png";
31 | ```
32 |
33 | 1It probably will give you a horrible warning, but it should work without issues.
34 |
--------------------------------------------------------------------------------
/Sample/SampleLocalApp/SampleLocalApp.Android/Assets/AboutAssets.txt:
--------------------------------------------------------------------------------
1 | Any raw assets you want to be deployed with your application can be placed in
2 | this directory (and child directories) and given a Build Action of "AndroidAsset".
3 |
4 | These files will be deployed with you package and will be accessible using Android's
5 | AssetManager, like this:
6 |
7 | public class ReadAsset : Activity
8 | {
9 | protected override void OnCreate (Bundle bundle)
10 | {
11 | base.OnCreate (bundle);
12 |
13 | InputStream input = Assets.Open ("my_asset.txt");
14 | }
15 | }
16 |
17 | Additionally, some Android functions will automatically load asset files:
18 |
19 | Typeface tf = Typeface.CreateFromAsset (Context.Assets, "fonts/samplefont.ttf");
20 |
--------------------------------------------------------------------------------
/Sample/SampleLocalApp/SampleLocalApp.Android/MainActivity.cs:
--------------------------------------------------------------------------------
1 | using System;
2 |
3 | using Android.App;
4 | using Android.Content.PM;
5 | using Android.Runtime;
6 | using Android.Views;
7 | using Android.Widget;
8 | using Android.OS;
9 | using TestApp;
10 |
11 | namespace SampleLocalApp.Droid
12 | {
13 | [Activity(Label = "SampleLocalApp", Icon = "@drawable/icon", Theme = "@style/MainTheme", MainLauncher = true, ConfigurationChanges = ConfigChanges.ScreenSize | ConfigChanges.Orientation)]
14 | public class MainActivity : global::Xamarin.Forms.Platform.Android.FormsAppCompatActivity
15 | {
16 | protected override void OnCreate(Bundle bundle)
17 | {
18 | TabLayoutResource = Resource.Layout.Tabbar;
19 | ToolbarResource = Resource.Layout.Toolbar;
20 |
21 | base.OnCreate(bundle);
22 |
23 | global::Xamarin.Forms.Forms.Init(this, bundle);
24 | Messier16.Forms.Android.Controls.Messier16Controls.InitAll();
25 | LoadApplication(new App());
26 | }
27 | }
28 | }
29 |
30 |
--------------------------------------------------------------------------------
/Sample/SampleLocalApp/SampleLocalApp.Android/Properties/AndroidManifest.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/Sample/SampleLocalApp/SampleLocalApp.Android/Properties/AssemblyInfo.cs:
--------------------------------------------------------------------------------
1 | using System.Reflection;
2 | using System.Runtime.CompilerServices;
3 | using System.Runtime.InteropServices;
4 | using Android.App;
5 |
6 | // General Information about an assembly is controlled through the following
7 | // set of attributes. Change these attribute values to modify the information
8 | // associated with an assembly.
9 | [assembly: AssemblyTitle("SampleLocalApp.Android")]
10 | [assembly: AssemblyDescription("")]
11 | [assembly: AssemblyConfiguration("")]
12 | [assembly: AssemblyCompany("")]
13 | [assembly: AssemblyProduct("SampleLocalApp.Android")]
14 | [assembly: AssemblyCopyright("Copyright © 2014")]
15 | [assembly: AssemblyTrademark("")]
16 | [assembly: AssemblyCulture("")]
17 | [assembly: ComVisible(false)]
18 |
19 | // Version information for an assembly consists of the following four values:
20 | //
21 | // Major Version
22 | // Minor Version
23 | // Build Number
24 | // Revision
25 | //
26 | // You can specify all the values or you can default the Build and Revision Numbers
27 | // by using the '*' as shown below:
28 | // [assembly: AssemblyVersion("1.0.*")]
29 | [assembly: AssemblyVersion("1.0.0.0")]
30 | [assembly: AssemblyFileVersion("1.0.0.0")]
31 |
32 | // Add some common permissions, these can be removed if not needed
33 | [assembly: UsesPermission(Android.Manifest.Permission.Internet)]
34 | [assembly: UsesPermission(Android.Manifest.Permission.WriteExternalStorage)]
35 |
--------------------------------------------------------------------------------
/Sample/SampleLocalApp/SampleLocalApp.Android/Resources/AboutResources.txt:
--------------------------------------------------------------------------------
1 | Images, layout descriptions, binary blobs and string dictionaries can be included
2 | in your application as resource files. Various Android APIs are designed to
3 | operate on the resource IDs instead of dealing with images, strings or binary blobs
4 | directly.
5 |
6 | For example, a sample Android app that contains a user interface layout (main.xml),
7 | an internationalization string table (strings.xml) and some icons (drawable-XXX/icon.png)
8 | would keep its resources in the "Resources" directory of the application:
9 |
10 | Resources/
11 | drawable-hdpi/
12 | icon.png
13 |
14 | drawable-ldpi/
15 | icon.png
16 |
17 | drawable-mdpi/
18 | icon.png
19 |
20 | layout/
21 | main.xml
22 |
23 | values/
24 | strings.xml
25 |
26 | In order to get the build system to recognize Android resources, set the build action to
27 | "AndroidResource". The native Android APIs do not operate directly with filenames, but
28 | instead operate on resource IDs. When you compile an Android application that uses resources,
29 | the build system will package the resources for distribution and generate a class called
30 | "Resource" that contains the tokens for each one of the resources included. For example,
31 | for the above Resources layout, this is what the Resource class would expose:
32 |
33 | public class Resource {
34 | public class drawable {
35 | public const int icon = 0x123;
36 | }
37 |
38 | public class layout {
39 | public const int main = 0x456;
40 | }
41 |
42 | public class strings {
43 | public const int first_string = 0xabc;
44 | public const int second_string = 0xbcd;
45 | }
46 | }
47 |
48 | You would then use R.drawable.icon to reference the drawable/icon.png file, or Resource.layout.main
49 | to reference the layout/main.xml file, or Resource.strings.first_string to reference the first
50 | string in the dictionary file values/strings.xml.
51 |
--------------------------------------------------------------------------------
/Sample/SampleLocalApp/SampleLocalApp.Android/Resources/drawable-hdpi/code.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/messier16/Forms.Controls/ad594b164dd35d592a81fba2825d4dcaca277215/Sample/SampleLocalApp/SampleLocalApp.Android/Resources/drawable-hdpi/code.png
--------------------------------------------------------------------------------
/Sample/SampleLocalApp/SampleLocalApp.Android/Resources/drawable-hdpi/icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/messier16/Forms.Controls/ad594b164dd35d592a81fba2825d4dcaca277215/Sample/SampleLocalApp/SampleLocalApp.Android/Resources/drawable-hdpi/icon.png
--------------------------------------------------------------------------------
/Sample/SampleLocalApp/SampleLocalApp.Android/Resources/drawable-hdpi/xaml.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/messier16/Forms.Controls/ad594b164dd35d592a81fba2825d4dcaca277215/Sample/SampleLocalApp/SampleLocalApp.Android/Resources/drawable-hdpi/xaml.png
--------------------------------------------------------------------------------
/Sample/SampleLocalApp/SampleLocalApp.Android/Resources/drawable-xhdpi/code.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/messier16/Forms.Controls/ad594b164dd35d592a81fba2825d4dcaca277215/Sample/SampleLocalApp/SampleLocalApp.Android/Resources/drawable-xhdpi/code.png
--------------------------------------------------------------------------------
/Sample/SampleLocalApp/SampleLocalApp.Android/Resources/drawable-xhdpi/config.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/messier16/Forms.Controls/ad594b164dd35d592a81fba2825d4dcaca277215/Sample/SampleLocalApp/SampleLocalApp.Android/Resources/drawable-xhdpi/config.png
--------------------------------------------------------------------------------
/Sample/SampleLocalApp/SampleLocalApp.Android/Resources/drawable-xhdpi/hashtag.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/messier16/Forms.Controls/ad594b164dd35d592a81fba2825d4dcaca277215/Sample/SampleLocalApp/SampleLocalApp.Android/Resources/drawable-xhdpi/hashtag.png
--------------------------------------------------------------------------------
/Sample/SampleLocalApp/SampleLocalApp.Android/Resources/drawable-xhdpi/home.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/messier16/Forms.Controls/ad594b164dd35d592a81fba2825d4dcaca277215/Sample/SampleLocalApp/SampleLocalApp.Android/Resources/drawable-xhdpi/home.png
--------------------------------------------------------------------------------
/Sample/SampleLocalApp/SampleLocalApp.Android/Resources/drawable-xhdpi/icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/messier16/Forms.Controls/ad594b164dd35d592a81fba2825d4dcaca277215/Sample/SampleLocalApp/SampleLocalApp.Android/Resources/drawable-xhdpi/icon.png
--------------------------------------------------------------------------------
/Sample/SampleLocalApp/SampleLocalApp.Android/Resources/drawable-xhdpi/message.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/messier16/Forms.Controls/ad594b164dd35d592a81fba2825d4dcaca277215/Sample/SampleLocalApp/SampleLocalApp.Android/Resources/drawable-xhdpi/message.png
--------------------------------------------------------------------------------
/Sample/SampleLocalApp/SampleLocalApp.Android/Resources/drawable-xhdpi/xaml.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/messier16/Forms.Controls/ad594b164dd35d592a81fba2825d4dcaca277215/Sample/SampleLocalApp/SampleLocalApp.Android/Resources/drawable-xhdpi/xaml.png
--------------------------------------------------------------------------------
/Sample/SampleLocalApp/SampleLocalApp.Android/Resources/drawable-xxhdpi/config.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/messier16/Forms.Controls/ad594b164dd35d592a81fba2825d4dcaca277215/Sample/SampleLocalApp/SampleLocalApp.Android/Resources/drawable-xxhdpi/config.png
--------------------------------------------------------------------------------
/Sample/SampleLocalApp/SampleLocalApp.Android/Resources/drawable-xxhdpi/hashtag.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/messier16/Forms.Controls/ad594b164dd35d592a81fba2825d4dcaca277215/Sample/SampleLocalApp/SampleLocalApp.Android/Resources/drawable-xxhdpi/hashtag.png
--------------------------------------------------------------------------------
/Sample/SampleLocalApp/SampleLocalApp.Android/Resources/drawable-xxhdpi/home.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/messier16/Forms.Controls/ad594b164dd35d592a81fba2825d4dcaca277215/Sample/SampleLocalApp/SampleLocalApp.Android/Resources/drawable-xxhdpi/home.png
--------------------------------------------------------------------------------
/Sample/SampleLocalApp/SampleLocalApp.Android/Resources/drawable-xxhdpi/icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/messier16/Forms.Controls/ad594b164dd35d592a81fba2825d4dcaca277215/Sample/SampleLocalApp/SampleLocalApp.Android/Resources/drawable-xxhdpi/icon.png
--------------------------------------------------------------------------------
/Sample/SampleLocalApp/SampleLocalApp.Android/Resources/drawable-xxhdpi/message.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/messier16/Forms.Controls/ad594b164dd35d592a81fba2825d4dcaca277215/Sample/SampleLocalApp/SampleLocalApp.Android/Resources/drawable-xxhdpi/message.png
--------------------------------------------------------------------------------
/Sample/SampleLocalApp/SampleLocalApp.Android/Resources/drawable-xxxhdpi/config.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/messier16/Forms.Controls/ad594b164dd35d592a81fba2825d4dcaca277215/Sample/SampleLocalApp/SampleLocalApp.Android/Resources/drawable-xxxhdpi/config.png
--------------------------------------------------------------------------------
/Sample/SampleLocalApp/SampleLocalApp.Android/Resources/drawable-xxxhdpi/hashtag.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/messier16/Forms.Controls/ad594b164dd35d592a81fba2825d4dcaca277215/Sample/SampleLocalApp/SampleLocalApp.Android/Resources/drawable-xxxhdpi/hashtag.png
--------------------------------------------------------------------------------
/Sample/SampleLocalApp/SampleLocalApp.Android/Resources/drawable-xxxhdpi/home.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/messier16/Forms.Controls/ad594b164dd35d592a81fba2825d4dcaca277215/Sample/SampleLocalApp/SampleLocalApp.Android/Resources/drawable-xxxhdpi/home.png
--------------------------------------------------------------------------------
/Sample/SampleLocalApp/SampleLocalApp.Android/Resources/drawable-xxxhdpi/message.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/messier16/Forms.Controls/ad594b164dd35d592a81fba2825d4dcaca277215/Sample/SampleLocalApp/SampleLocalApp.Android/Resources/drawable-xxxhdpi/message.png
--------------------------------------------------------------------------------
/Sample/SampleLocalApp/SampleLocalApp.Android/Resources/drawable/code.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/messier16/Forms.Controls/ad594b164dd35d592a81fba2825d4dcaca277215/Sample/SampleLocalApp/SampleLocalApp.Android/Resources/drawable/code.png
--------------------------------------------------------------------------------
/Sample/SampleLocalApp/SampleLocalApp.Android/Resources/drawable/icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/messier16/Forms.Controls/ad594b164dd35d592a81fba2825d4dcaca277215/Sample/SampleLocalApp/SampleLocalApp.Android/Resources/drawable/icon.png
--------------------------------------------------------------------------------
/Sample/SampleLocalApp/SampleLocalApp.Android/Resources/drawable/xaml.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/messier16/Forms.Controls/ad594b164dd35d592a81fba2825d4dcaca277215/Sample/SampleLocalApp/SampleLocalApp.Android/Resources/drawable/xaml.png
--------------------------------------------------------------------------------
/Sample/SampleLocalApp/SampleLocalApp.Android/Resources/layout/Tabbar.axml:
--------------------------------------------------------------------------------
1 |
2 |
12 |
--------------------------------------------------------------------------------
/Sample/SampleLocalApp/SampleLocalApp.Android/Resources/layout/Toolbar.axml:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/Sample/SampleLocalApp/SampleLocalApp.Android/Resources/layout/tabs.axml:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/Sample/SampleLocalApp/SampleLocalApp.Android/Resources/mipmap-hdpi/Icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/messier16/Forms.Controls/ad594b164dd35d592a81fba2825d4dcaca277215/Sample/SampleLocalApp/SampleLocalApp.Android/Resources/mipmap-hdpi/Icon.png
--------------------------------------------------------------------------------
/Sample/SampleLocalApp/SampleLocalApp.Android/Resources/mipmap-mdpi/Icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/messier16/Forms.Controls/ad594b164dd35d592a81fba2825d4dcaca277215/Sample/SampleLocalApp/SampleLocalApp.Android/Resources/mipmap-mdpi/Icon.png
--------------------------------------------------------------------------------
/Sample/SampleLocalApp/SampleLocalApp.Android/Resources/mipmap-xhdpi/Icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/messier16/Forms.Controls/ad594b164dd35d592a81fba2825d4dcaca277215/Sample/SampleLocalApp/SampleLocalApp.Android/Resources/mipmap-xhdpi/Icon.png
--------------------------------------------------------------------------------
/Sample/SampleLocalApp/SampleLocalApp.Android/Resources/mipmap-xxhdpi/Icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/messier16/Forms.Controls/ad594b164dd35d592a81fba2825d4dcaca277215/Sample/SampleLocalApp/SampleLocalApp.Android/Resources/mipmap-xxhdpi/Icon.png
--------------------------------------------------------------------------------
/Sample/SampleLocalApp/SampleLocalApp.Android/Resources/mipmap-xxxhdpi/Icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/messier16/Forms.Controls/ad594b164dd35d592a81fba2825d4dcaca277215/Sample/SampleLocalApp/SampleLocalApp.Android/Resources/mipmap-xxxhdpi/Icon.png
--------------------------------------------------------------------------------
/Sample/SampleLocalApp/SampleLocalApp.Android/Resources/values/Strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | Hello World, Click Me!
4 | SampleLocalApp.Droid
5 |
6 |
--------------------------------------------------------------------------------
/Sample/SampleLocalApp/SampleLocalApp.Android/Resources/values/colors.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | #4CAF50
4 | #388E3C
5 | #C8E6C9
6 | #448AFF
7 | #212121
8 | #727272
9 | #FFFFFF
10 | #B6B6B6
11 |
12 |
--------------------------------------------------------------------------------
/Sample/SampleLocalApp/SampleLocalApp.Android/Resources/values/style.xml:
--------------------------------------------------------------------------------
1 |
2 |
6 |
13 |
--------------------------------------------------------------------------------
/Sample/SampleLocalApp/SampleLocalApp.Android/Resources/values/styles.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
7 |
8 |
27 |
28 |
31 |
--------------------------------------------------------------------------------
/Sample/SampleLocalApp/SampleLocalApp.UWP/App.xaml:
--------------------------------------------------------------------------------
1 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/Sample/SampleLocalApp/SampleLocalApp.UWP/Assets/LockScreenLogo.scale-100.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/messier16/Forms.Controls/ad594b164dd35d592a81fba2825d4dcaca277215/Sample/SampleLocalApp/SampleLocalApp.UWP/Assets/LockScreenLogo.scale-100.png
--------------------------------------------------------------------------------
/Sample/SampleLocalApp/SampleLocalApp.UWP/Assets/LockScreenLogo.scale-125.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/messier16/Forms.Controls/ad594b164dd35d592a81fba2825d4dcaca277215/Sample/SampleLocalApp/SampleLocalApp.UWP/Assets/LockScreenLogo.scale-125.png
--------------------------------------------------------------------------------
/Sample/SampleLocalApp/SampleLocalApp.UWP/Assets/LockScreenLogo.scale-150.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/messier16/Forms.Controls/ad594b164dd35d592a81fba2825d4dcaca277215/Sample/SampleLocalApp/SampleLocalApp.UWP/Assets/LockScreenLogo.scale-150.png
--------------------------------------------------------------------------------
/Sample/SampleLocalApp/SampleLocalApp.UWP/Assets/LockScreenLogo.scale-200.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/messier16/Forms.Controls/ad594b164dd35d592a81fba2825d4dcaca277215/Sample/SampleLocalApp/SampleLocalApp.UWP/Assets/LockScreenLogo.scale-200.png
--------------------------------------------------------------------------------
/Sample/SampleLocalApp/SampleLocalApp.UWP/Assets/LockScreenLogo.scale-400.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/messier16/Forms.Controls/ad594b164dd35d592a81fba2825d4dcaca277215/Sample/SampleLocalApp/SampleLocalApp.UWP/Assets/LockScreenLogo.scale-400.png
--------------------------------------------------------------------------------
/Sample/SampleLocalApp/SampleLocalApp.UWP/Assets/SplashScreen.scale-100.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/messier16/Forms.Controls/ad594b164dd35d592a81fba2825d4dcaca277215/Sample/SampleLocalApp/SampleLocalApp.UWP/Assets/SplashScreen.scale-100.png
--------------------------------------------------------------------------------
/Sample/SampleLocalApp/SampleLocalApp.UWP/Assets/SplashScreen.scale-125.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/messier16/Forms.Controls/ad594b164dd35d592a81fba2825d4dcaca277215/Sample/SampleLocalApp/SampleLocalApp.UWP/Assets/SplashScreen.scale-125.png
--------------------------------------------------------------------------------
/Sample/SampleLocalApp/SampleLocalApp.UWP/Assets/SplashScreen.scale-150.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/messier16/Forms.Controls/ad594b164dd35d592a81fba2825d4dcaca277215/Sample/SampleLocalApp/SampleLocalApp.UWP/Assets/SplashScreen.scale-150.png
--------------------------------------------------------------------------------
/Sample/SampleLocalApp/SampleLocalApp.UWP/Assets/SplashScreen.scale-200.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/messier16/Forms.Controls/ad594b164dd35d592a81fba2825d4dcaca277215/Sample/SampleLocalApp/SampleLocalApp.UWP/Assets/SplashScreen.scale-200.png
--------------------------------------------------------------------------------
/Sample/SampleLocalApp/SampleLocalApp.UWP/Assets/SplashScreen.scale-400.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/messier16/Forms.Controls/ad594b164dd35d592a81fba2825d4dcaca277215/Sample/SampleLocalApp/SampleLocalApp.UWP/Assets/SplashScreen.scale-400.png
--------------------------------------------------------------------------------
/Sample/SampleLocalApp/SampleLocalApp.UWP/Assets/Square150x150Logo.scale-100.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/messier16/Forms.Controls/ad594b164dd35d592a81fba2825d4dcaca277215/Sample/SampleLocalApp/SampleLocalApp.UWP/Assets/Square150x150Logo.scale-100.png
--------------------------------------------------------------------------------
/Sample/SampleLocalApp/SampleLocalApp.UWP/Assets/Square150x150Logo.scale-125.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/messier16/Forms.Controls/ad594b164dd35d592a81fba2825d4dcaca277215/Sample/SampleLocalApp/SampleLocalApp.UWP/Assets/Square150x150Logo.scale-125.png
--------------------------------------------------------------------------------
/Sample/SampleLocalApp/SampleLocalApp.UWP/Assets/Square150x150Logo.scale-150.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/messier16/Forms.Controls/ad594b164dd35d592a81fba2825d4dcaca277215/Sample/SampleLocalApp/SampleLocalApp.UWP/Assets/Square150x150Logo.scale-150.png
--------------------------------------------------------------------------------
/Sample/SampleLocalApp/SampleLocalApp.UWP/Assets/Square150x150Logo.scale-200.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/messier16/Forms.Controls/ad594b164dd35d592a81fba2825d4dcaca277215/Sample/SampleLocalApp/SampleLocalApp.UWP/Assets/Square150x150Logo.scale-200.png
--------------------------------------------------------------------------------
/Sample/SampleLocalApp/SampleLocalApp.UWP/Assets/Square150x150Logo.scale-400.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/messier16/Forms.Controls/ad594b164dd35d592a81fba2825d4dcaca277215/Sample/SampleLocalApp/SampleLocalApp.UWP/Assets/Square150x150Logo.scale-400.png
--------------------------------------------------------------------------------
/Sample/SampleLocalApp/SampleLocalApp.UWP/Assets/Square44x44Logo.scale-100.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/messier16/Forms.Controls/ad594b164dd35d592a81fba2825d4dcaca277215/Sample/SampleLocalApp/SampleLocalApp.UWP/Assets/Square44x44Logo.scale-100.png
--------------------------------------------------------------------------------
/Sample/SampleLocalApp/SampleLocalApp.UWP/Assets/Square44x44Logo.scale-125.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/messier16/Forms.Controls/ad594b164dd35d592a81fba2825d4dcaca277215/Sample/SampleLocalApp/SampleLocalApp.UWP/Assets/Square44x44Logo.scale-125.png
--------------------------------------------------------------------------------
/Sample/SampleLocalApp/SampleLocalApp.UWP/Assets/Square44x44Logo.scale-150.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/messier16/Forms.Controls/ad594b164dd35d592a81fba2825d4dcaca277215/Sample/SampleLocalApp/SampleLocalApp.UWP/Assets/Square44x44Logo.scale-150.png
--------------------------------------------------------------------------------
/Sample/SampleLocalApp/SampleLocalApp.UWP/Assets/Square44x44Logo.scale-200.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/messier16/Forms.Controls/ad594b164dd35d592a81fba2825d4dcaca277215/Sample/SampleLocalApp/SampleLocalApp.UWP/Assets/Square44x44Logo.scale-200.png
--------------------------------------------------------------------------------
/Sample/SampleLocalApp/SampleLocalApp.UWP/Assets/Square44x44Logo.scale-400.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/messier16/Forms.Controls/ad594b164dd35d592a81fba2825d4dcaca277215/Sample/SampleLocalApp/SampleLocalApp.UWP/Assets/Square44x44Logo.scale-400.png
--------------------------------------------------------------------------------
/Sample/SampleLocalApp/SampleLocalApp.UWP/Assets/Square44x44Logo.targetsize-16_altform-unplated.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/messier16/Forms.Controls/ad594b164dd35d592a81fba2825d4dcaca277215/Sample/SampleLocalApp/SampleLocalApp.UWP/Assets/Square44x44Logo.targetsize-16_altform-unplated.png
--------------------------------------------------------------------------------
/Sample/SampleLocalApp/SampleLocalApp.UWP/Assets/Square44x44Logo.targetsize-24_altform-unplated.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/messier16/Forms.Controls/ad594b164dd35d592a81fba2825d4dcaca277215/Sample/SampleLocalApp/SampleLocalApp.UWP/Assets/Square44x44Logo.targetsize-24_altform-unplated.png
--------------------------------------------------------------------------------
/Sample/SampleLocalApp/SampleLocalApp.UWP/Assets/Square44x44Logo.targetsize-256_altform-unplated.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/messier16/Forms.Controls/ad594b164dd35d592a81fba2825d4dcaca277215/Sample/SampleLocalApp/SampleLocalApp.UWP/Assets/Square44x44Logo.targetsize-256_altform-unplated.png
--------------------------------------------------------------------------------
/Sample/SampleLocalApp/SampleLocalApp.UWP/Assets/Square44x44Logo.targetsize-32_altform-unplated.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/messier16/Forms.Controls/ad594b164dd35d592a81fba2825d4dcaca277215/Sample/SampleLocalApp/SampleLocalApp.UWP/Assets/Square44x44Logo.targetsize-32_altform-unplated.png
--------------------------------------------------------------------------------
/Sample/SampleLocalApp/SampleLocalApp.UWP/Assets/Square44x44Logo.targetsize-48_altform-unplated.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/messier16/Forms.Controls/ad594b164dd35d592a81fba2825d4dcaca277215/Sample/SampleLocalApp/SampleLocalApp.UWP/Assets/Square44x44Logo.targetsize-48_altform-unplated.png
--------------------------------------------------------------------------------
/Sample/SampleLocalApp/SampleLocalApp.UWP/Assets/StoreLogo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/messier16/Forms.Controls/ad594b164dd35d592a81fba2825d4dcaca277215/Sample/SampleLocalApp/SampleLocalApp.UWP/Assets/StoreLogo.png
--------------------------------------------------------------------------------
/Sample/SampleLocalApp/SampleLocalApp.UWP/Assets/Wide310x150Logo.scale-100.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/messier16/Forms.Controls/ad594b164dd35d592a81fba2825d4dcaca277215/Sample/SampleLocalApp/SampleLocalApp.UWP/Assets/Wide310x150Logo.scale-100.png
--------------------------------------------------------------------------------
/Sample/SampleLocalApp/SampleLocalApp.UWP/Assets/Wide310x150Logo.scale-125.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/messier16/Forms.Controls/ad594b164dd35d592a81fba2825d4dcaca277215/Sample/SampleLocalApp/SampleLocalApp.UWP/Assets/Wide310x150Logo.scale-125.png
--------------------------------------------------------------------------------
/Sample/SampleLocalApp/SampleLocalApp.UWP/Assets/Wide310x150Logo.scale-150.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/messier16/Forms.Controls/ad594b164dd35d592a81fba2825d4dcaca277215/Sample/SampleLocalApp/SampleLocalApp.UWP/Assets/Wide310x150Logo.scale-150.png
--------------------------------------------------------------------------------
/Sample/SampleLocalApp/SampleLocalApp.UWP/Assets/Wide310x150Logo.scale-200.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/messier16/Forms.Controls/ad594b164dd35d592a81fba2825d4dcaca277215/Sample/SampleLocalApp/SampleLocalApp.UWP/Assets/Wide310x150Logo.scale-200.png
--------------------------------------------------------------------------------
/Sample/SampleLocalApp/SampleLocalApp.UWP/Assets/Wide310x150Logo.scale-400.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/messier16/Forms.Controls/ad594b164dd35d592a81fba2825d4dcaca277215/Sample/SampleLocalApp/SampleLocalApp.UWP/Assets/Wide310x150Logo.scale-400.png
--------------------------------------------------------------------------------
/Sample/SampleLocalApp/SampleLocalApp.UWP/MainPage.xaml:
--------------------------------------------------------------------------------
1 |
11 |
12 |
13 |
14 |
15 |
--------------------------------------------------------------------------------
/Sample/SampleLocalApp/SampleLocalApp.UWP/MainPage.xaml.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Collections.Generic;
3 | using System.IO;
4 | using System.Linq;
5 | using System.Runtime.InteropServices.WindowsRuntime;
6 | using Windows.Foundation;
7 | using Windows.Foundation.Collections;
8 | using Windows.UI.Xaml;
9 | using Windows.UI.Xaml.Controls;
10 | using Windows.UI.Xaml.Controls.Primitives;
11 | using Windows.UI.Xaml.Data;
12 | using Windows.UI.Xaml.Input;
13 | using Windows.UI.Xaml.Media;
14 | using Windows.UI.Xaml.Navigation;
15 |
16 | namespace SampleLocalApp.UWP
17 | {
18 | public sealed partial class MainPage
19 | {
20 | public MainPage()
21 | {
22 | this.InitializeComponent();
23 |
24 | LoadApplication(new TestApp.App());
25 | }
26 | }
27 | }
28 |
--------------------------------------------------------------------------------
/Sample/SampleLocalApp/SampleLocalApp.UWP/Package.appxmanifest:
--------------------------------------------------------------------------------
1 |
2 |
3 |
8 |
9 |
13 |
14 |
15 |
16 |
17 | SampleLocalApp.UWP
18 | Pierce Boggan
19 | Assets\StoreLogo.png
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
34 |
40 |
41 |
42 |
43 |
44 |
45 |
46 |
47 |
48 |
49 |
--------------------------------------------------------------------------------
/Sample/SampleLocalApp/SampleLocalApp.UWP/Properties/AssemblyInfo.cs:
--------------------------------------------------------------------------------
1 | using System.Reflection;
2 | using System.Runtime.CompilerServices;
3 | using System.Runtime.InteropServices;
4 |
5 | // General Information about an assembly is controlled through the following
6 | // set of attributes. Change these attribute values to modify the information
7 | // associated with an assembly.
8 | [assembly: AssemblyTitle("SampleLocalApp.UWP")]
9 | [assembly: AssemblyDescription("")]
10 | [assembly: AssemblyConfiguration("")]
11 | [assembly: AssemblyCompany("")]
12 | [assembly: AssemblyProduct("SampleLocalApp.UWP")]
13 | [assembly: AssemblyCopyright("Copyright © 2015")]
14 | [assembly: AssemblyTrademark("")]
15 | [assembly: AssemblyCulture("")]
16 |
17 | // Version information for an assembly consists of the following four values:
18 | //
19 | // Major Version
20 | // Minor Version
21 | // Build Number
22 | // Revision
23 | //
24 | // You can specify all the values or you can default the Build and Revision Numbers
25 | // by using the '*' as shown below:
26 | // [assembly: AssemblyVersion("1.0.*")]
27 | [assembly: AssemblyVersion("1.0.0.0")]
28 | [assembly: AssemblyFileVersion("1.0.0.0")]
29 | [assembly: ComVisible(false)]
--------------------------------------------------------------------------------
/Sample/SampleLocalApp/SampleLocalApp.UWP/Properties/Default.rd.xml:
--------------------------------------------------------------------------------
1 |
17 |
18 |
19 |
20 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
--------------------------------------------------------------------------------
/Sample/SampleLocalApp/SampleLocalApp.iOS/AppDelegate.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Collections.Generic;
3 | using System.Linq;
4 |
5 | using Foundation;
6 | using TestApp;
7 | using UIKit;
8 |
9 | namespace SampleLocalApp.iOS
10 | {
11 | // The UIApplicationDelegate for the application. This class is responsible for launching the
12 | // User Interface of the application, as well as listening (and optionally responding) to
13 | // application events from iOS.
14 | [Register("AppDelegate")]
15 | public partial class AppDelegate : global::Xamarin.Forms.Platform.iOS.FormsApplicationDelegate
16 | {
17 | //
18 | // This method is invoked when the application has loaded and is ready to run. In this
19 | // method you should instantiate the window, load the UI into it and then make the window
20 | // visible.
21 | //
22 | // You have 17 seconds to return from this method, or iOS will terminate your application.
23 | //
24 | public override bool FinishedLaunching(UIApplication app, NSDictionary options)
25 | {
26 | global::Xamarin.Forms.Forms.Init();
27 | Messier16.Forms.iOS.Controls.Messier16Controls.InitAll();
28 | LoadApplication(new App());
29 |
30 | return base.FinishedLaunching(app, options);
31 | }
32 | }
33 | }
34 |
--------------------------------------------------------------------------------
/Sample/SampleLocalApp/SampleLocalApp.iOS/Entitlements.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/Sample/SampleLocalApp/SampleLocalApp.iOS/Info.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | UIDeviceFamily
6 |
7 | 1
8 | 2
9 |
10 | UISupportedInterfaceOrientations
11 |
12 | UIInterfaceOrientationPortrait
13 | UIInterfaceOrientationLandscapeLeft
14 | UIInterfaceOrientationLandscapeRight
15 |
16 | UISupportedInterfaceOrientations~ipad
17 |
18 | UIInterfaceOrientationPortrait
19 | UIInterfaceOrientationPortraitUpsideDown
20 | UIInterfaceOrientationLandscapeLeft
21 | UIInterfaceOrientationLandscapeRight
22 |
23 | MinimumOSVersion
24 | 11.2
25 | CFBundleDisplayName
26 | SampleLocalApp
27 | CFBundleIdentifier
28 | com.yourcompany.SampleLocalApp
29 | CFBundleVersion
30 | 1.0
31 | CFBundleIconFiles
32 |
33 | Icon-60@2x
34 | Icon-60@3x
35 | Icon-76
36 | Icon-76@2x
37 | Default
38 | Default@2x
39 | Default-568h@2x
40 | Default-Portrait
41 | Default-Portrait@2x
42 | Icon-Small-40
43 | Icon-Small-40@2x
44 | Icon-Small-40@3x
45 | Icon-Small
46 | Icon-Small@2x
47 | Icon-Small@3x
48 |
49 | UILaunchStoryboardName
50 | LaunchScreen
51 | CFBundleName
52 | SampleLocalApp
53 |
54 |
55 |
--------------------------------------------------------------------------------
/Sample/SampleLocalApp/SampleLocalApp.iOS/Main.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Collections.Generic;
3 | using System.Linq;
4 |
5 | using Foundation;
6 | using UIKit;
7 |
8 | namespace SampleLocalApp.iOS
9 | {
10 | public class Application
11 | {
12 | // This is the main entry point of the application.
13 | static void Main(string[] args)
14 | {
15 | // if you want to use a different Application Delegate class from "AppDelegate"
16 | // you can specify it here.
17 | UIApplication.Main(args, null, "AppDelegate");
18 | }
19 | }
20 | }
21 |
--------------------------------------------------------------------------------
/Sample/SampleLocalApp/SampleLocalApp.iOS/Properties/AssemblyInfo.cs:
--------------------------------------------------------------------------------
1 | using System.Reflection;
2 | using System.Runtime.CompilerServices;
3 | using System.Runtime.InteropServices;
4 |
5 | // General Information about an assembly is controlled through the following
6 | // set of attributes. Change these attribute values to modify the information
7 | // associated with an assembly.
8 | [assembly: AssemblyTitle("SampleLocalApp.iOS")]
9 | [assembly: AssemblyDescription("")]
10 | [assembly: AssemblyConfiguration("")]
11 | [assembly: AssemblyCompany("")]
12 | [assembly: AssemblyProduct("SampleLocalApp.iOS")]
13 | [assembly: AssemblyCopyright("Copyright © 2014")]
14 | [assembly: AssemblyTrademark("")]
15 | [assembly: AssemblyCulture("")]
16 |
17 | // Setting ComVisible to false makes the types in this assembly not visible
18 | // to COM components. If you need to access a type in this assembly from
19 | // COM, set the ComVisible attribute to true on that type.
20 | [assembly: ComVisible(false)]
21 |
22 | // The following GUID is for the ID of the typelib if this project is exposed to COM
23 | [assembly: Guid("72bdc44f-c588-44f3-b6df-9aace7daafdd")]
24 |
25 | // Version information for an assembly consists of the following four values:
26 | //
27 | // Major Version
28 | // Minor Version
29 | // Build Number
30 | // Revision
31 | //
32 | // You can specify all the values or you can default the Build and Revision Numbers
33 | // by using the '*' as shown below:
34 | // [assembly: AssemblyVersion("1.0.*")]
35 | [assembly: AssemblyVersion("1.0.0.0")]
36 | [assembly: AssemblyFileVersion("1.0.0.0")]
37 |
--------------------------------------------------------------------------------
/Sample/SampleLocalApp/SampleLocalApp.iOS/Resources/Default-568h@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/messier16/Forms.Controls/ad594b164dd35d592a81fba2825d4dcaca277215/Sample/SampleLocalApp/SampleLocalApp.iOS/Resources/Default-568h@2x.png
--------------------------------------------------------------------------------
/Sample/SampleLocalApp/SampleLocalApp.iOS/Resources/Default-Portrait.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/messier16/Forms.Controls/ad594b164dd35d592a81fba2825d4dcaca277215/Sample/SampleLocalApp/SampleLocalApp.iOS/Resources/Default-Portrait.png
--------------------------------------------------------------------------------
/Sample/SampleLocalApp/SampleLocalApp.iOS/Resources/Default-Portrait@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/messier16/Forms.Controls/ad594b164dd35d592a81fba2825d4dcaca277215/Sample/SampleLocalApp/SampleLocalApp.iOS/Resources/Default-Portrait@2x.png
--------------------------------------------------------------------------------
/Sample/SampleLocalApp/SampleLocalApp.iOS/Resources/Default.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/messier16/Forms.Controls/ad594b164dd35d592a81fba2825d4dcaca277215/Sample/SampleLocalApp/SampleLocalApp.iOS/Resources/Default.png
--------------------------------------------------------------------------------
/Sample/SampleLocalApp/SampleLocalApp.iOS/Resources/Default@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/messier16/Forms.Controls/ad594b164dd35d592a81fba2825d4dcaca277215/Sample/SampleLocalApp/SampleLocalApp.iOS/Resources/Default@2x.png
--------------------------------------------------------------------------------
/Sample/SampleLocalApp/SampleLocalApp.iOS/Resources/Icon-60@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/messier16/Forms.Controls/ad594b164dd35d592a81fba2825d4dcaca277215/Sample/SampleLocalApp/SampleLocalApp.iOS/Resources/Icon-60@2x.png
--------------------------------------------------------------------------------
/Sample/SampleLocalApp/SampleLocalApp.iOS/Resources/Icon-60@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/messier16/Forms.Controls/ad594b164dd35d592a81fba2825d4dcaca277215/Sample/SampleLocalApp/SampleLocalApp.iOS/Resources/Icon-60@3x.png
--------------------------------------------------------------------------------
/Sample/SampleLocalApp/SampleLocalApp.iOS/Resources/Icon-76.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/messier16/Forms.Controls/ad594b164dd35d592a81fba2825d4dcaca277215/Sample/SampleLocalApp/SampleLocalApp.iOS/Resources/Icon-76.png
--------------------------------------------------------------------------------
/Sample/SampleLocalApp/SampleLocalApp.iOS/Resources/Icon-76@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/messier16/Forms.Controls/ad594b164dd35d592a81fba2825d4dcaca277215/Sample/SampleLocalApp/SampleLocalApp.iOS/Resources/Icon-76@2x.png
--------------------------------------------------------------------------------
/Sample/SampleLocalApp/SampleLocalApp.iOS/Resources/Icon-Small-40.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/messier16/Forms.Controls/ad594b164dd35d592a81fba2825d4dcaca277215/Sample/SampleLocalApp/SampleLocalApp.iOS/Resources/Icon-Small-40.png
--------------------------------------------------------------------------------
/Sample/SampleLocalApp/SampleLocalApp.iOS/Resources/Icon-Small-40@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/messier16/Forms.Controls/ad594b164dd35d592a81fba2825d4dcaca277215/Sample/SampleLocalApp/SampleLocalApp.iOS/Resources/Icon-Small-40@2x.png
--------------------------------------------------------------------------------
/Sample/SampleLocalApp/SampleLocalApp.iOS/Resources/Icon-Small-40@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/messier16/Forms.Controls/ad594b164dd35d592a81fba2825d4dcaca277215/Sample/SampleLocalApp/SampleLocalApp.iOS/Resources/Icon-Small-40@3x.png
--------------------------------------------------------------------------------
/Sample/SampleLocalApp/SampleLocalApp.iOS/Resources/Icon-Small.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/messier16/Forms.Controls/ad594b164dd35d592a81fba2825d4dcaca277215/Sample/SampleLocalApp/SampleLocalApp.iOS/Resources/Icon-Small.png
--------------------------------------------------------------------------------
/Sample/SampleLocalApp/SampleLocalApp.iOS/Resources/Icon-Small@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/messier16/Forms.Controls/ad594b164dd35d592a81fba2825d4dcaca277215/Sample/SampleLocalApp/SampleLocalApp.iOS/Resources/Icon-Small@2x.png
--------------------------------------------------------------------------------
/Sample/SampleLocalApp/SampleLocalApp.iOS/Resources/Icon-Small@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/messier16/Forms.Controls/ad594b164dd35d592a81fba2825d4dcaca277215/Sample/SampleLocalApp/SampleLocalApp.iOS/Resources/Icon-Small@3x.png
--------------------------------------------------------------------------------
/Sample/SampleLocalApp/SampleLocalApp.iOS/Resources/beer.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/messier16/Forms.Controls/ad594b164dd35d592a81fba2825d4dcaca277215/Sample/SampleLocalApp/SampleLocalApp.iOS/Resources/beer.png
--------------------------------------------------------------------------------
/Sample/SampleLocalApp/SampleLocalApp.iOS/Resources/beer@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/messier16/Forms.Controls/ad594b164dd35d592a81fba2825d4dcaca277215/Sample/SampleLocalApp/SampleLocalApp.iOS/Resources/beer@2x.png
--------------------------------------------------------------------------------
/Sample/SampleLocalApp/SampleLocalApp.iOS/Resources/beer@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/messier16/Forms.Controls/ad594b164dd35d592a81fba2825d4dcaca277215/Sample/SampleLocalApp/SampleLocalApp.iOS/Resources/beer@3x.png
--------------------------------------------------------------------------------
/Sample/SampleLocalApp/SampleLocalApp.iOS/Resources/beer_filled.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/messier16/Forms.Controls/ad594b164dd35d592a81fba2825d4dcaca277215/Sample/SampleLocalApp/SampleLocalApp.iOS/Resources/beer_filled.png
--------------------------------------------------------------------------------
/Sample/SampleLocalApp/SampleLocalApp.iOS/Resources/beer_filled@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/messier16/Forms.Controls/ad594b164dd35d592a81fba2825d4dcaca277215/Sample/SampleLocalApp/SampleLocalApp.iOS/Resources/beer_filled@2x.png
--------------------------------------------------------------------------------
/Sample/SampleLocalApp/SampleLocalApp.iOS/Resources/beer_filled@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/messier16/Forms.Controls/ad594b164dd35d592a81fba2825d4dcaca277215/Sample/SampleLocalApp/SampleLocalApp.iOS/Resources/beer_filled@3x.png
--------------------------------------------------------------------------------
/Sample/SampleLocalApp/SampleLocalApp.iOS/Resources/code.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/messier16/Forms.Controls/ad594b164dd35d592a81fba2825d4dcaca277215/Sample/SampleLocalApp/SampleLocalApp.iOS/Resources/code.png
--------------------------------------------------------------------------------
/Sample/SampleLocalApp/SampleLocalApp.iOS/Resources/code@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/messier16/Forms.Controls/ad594b164dd35d592a81fba2825d4dcaca277215/Sample/SampleLocalApp/SampleLocalApp.iOS/Resources/code@2x.png
--------------------------------------------------------------------------------
/Sample/SampleLocalApp/SampleLocalApp.iOS/Resources/code@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/messier16/Forms.Controls/ad594b164dd35d592a81fba2825d4dcaca277215/Sample/SampleLocalApp/SampleLocalApp.iOS/Resources/code@3x.png
--------------------------------------------------------------------------------
/Sample/SampleLocalApp/SampleLocalApp.iOS/Resources/config@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/messier16/Forms.Controls/ad594b164dd35d592a81fba2825d4dcaca277215/Sample/SampleLocalApp/SampleLocalApp.iOS/Resources/config@2x.png
--------------------------------------------------------------------------------
/Sample/SampleLocalApp/SampleLocalApp.iOS/Resources/config@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/messier16/Forms.Controls/ad594b164dd35d592a81fba2825d4dcaca277215/Sample/SampleLocalApp/SampleLocalApp.iOS/Resources/config@3x.png
--------------------------------------------------------------------------------
/Sample/SampleLocalApp/SampleLocalApp.iOS/Resources/config_active@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/messier16/Forms.Controls/ad594b164dd35d592a81fba2825d4dcaca277215/Sample/SampleLocalApp/SampleLocalApp.iOS/Resources/config_active@2x.png
--------------------------------------------------------------------------------
/Sample/SampleLocalApp/SampleLocalApp.iOS/Resources/config_active@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/messier16/Forms.Controls/ad594b164dd35d592a81fba2825d4dcaca277215/Sample/SampleLocalApp/SampleLocalApp.iOS/Resources/config_active@3x.png
--------------------------------------------------------------------------------
/Sample/SampleLocalApp/SampleLocalApp.iOS/Resources/hashtag@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/messier16/Forms.Controls/ad594b164dd35d592a81fba2825d4dcaca277215/Sample/SampleLocalApp/SampleLocalApp.iOS/Resources/hashtag@2x.png
--------------------------------------------------------------------------------
/Sample/SampleLocalApp/SampleLocalApp.iOS/Resources/hashtag@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/messier16/Forms.Controls/ad594b164dd35d592a81fba2825d4dcaca277215/Sample/SampleLocalApp/SampleLocalApp.iOS/Resources/hashtag@3x.png
--------------------------------------------------------------------------------
/Sample/SampleLocalApp/SampleLocalApp.iOS/Resources/hashtag_active@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/messier16/Forms.Controls/ad594b164dd35d592a81fba2825d4dcaca277215/Sample/SampleLocalApp/SampleLocalApp.iOS/Resources/hashtag_active@2x.png
--------------------------------------------------------------------------------
/Sample/SampleLocalApp/SampleLocalApp.iOS/Resources/hashtag_active@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/messier16/Forms.Controls/ad594b164dd35d592a81fba2825d4dcaca277215/Sample/SampleLocalApp/SampleLocalApp.iOS/Resources/hashtag_active@3x.png
--------------------------------------------------------------------------------
/Sample/SampleLocalApp/SampleLocalApp.iOS/Resources/home@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/messier16/Forms.Controls/ad594b164dd35d592a81fba2825d4dcaca277215/Sample/SampleLocalApp/SampleLocalApp.iOS/Resources/home@2x.png
--------------------------------------------------------------------------------
/Sample/SampleLocalApp/SampleLocalApp.iOS/Resources/home@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/messier16/Forms.Controls/ad594b164dd35d592a81fba2825d4dcaca277215/Sample/SampleLocalApp/SampleLocalApp.iOS/Resources/home@3x.png
--------------------------------------------------------------------------------
/Sample/SampleLocalApp/SampleLocalApp.iOS/Resources/home_active@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/messier16/Forms.Controls/ad594b164dd35d592a81fba2825d4dcaca277215/Sample/SampleLocalApp/SampleLocalApp.iOS/Resources/home_active@2x.png
--------------------------------------------------------------------------------
/Sample/SampleLocalApp/SampleLocalApp.iOS/Resources/home_active@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/messier16/Forms.Controls/ad594b164dd35d592a81fba2825d4dcaca277215/Sample/SampleLocalApp/SampleLocalApp.iOS/Resources/home_active@3x.png
--------------------------------------------------------------------------------
/Sample/SampleLocalApp/SampleLocalApp.iOS/Resources/message@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/messier16/Forms.Controls/ad594b164dd35d592a81fba2825d4dcaca277215/Sample/SampleLocalApp/SampleLocalApp.iOS/Resources/message@2x.png
--------------------------------------------------------------------------------
/Sample/SampleLocalApp/SampleLocalApp.iOS/Resources/message@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/messier16/Forms.Controls/ad594b164dd35d592a81fba2825d4dcaca277215/Sample/SampleLocalApp/SampleLocalApp.iOS/Resources/message@3x.png
--------------------------------------------------------------------------------
/Sample/SampleLocalApp/SampleLocalApp.iOS/Resources/message_active@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/messier16/Forms.Controls/ad594b164dd35d592a81fba2825d4dcaca277215/Sample/SampleLocalApp/SampleLocalApp.iOS/Resources/message_active@2x.png
--------------------------------------------------------------------------------
/Sample/SampleLocalApp/SampleLocalApp.iOS/Resources/message_active@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/messier16/Forms.Controls/ad594b164dd35d592a81fba2825d4dcaca277215/Sample/SampleLocalApp/SampleLocalApp.iOS/Resources/message_active@3x.png
--------------------------------------------------------------------------------
/Sample/SampleLocalApp/SampleLocalApp.iOS/Resources/star.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/messier16/Forms.Controls/ad594b164dd35d592a81fba2825d4dcaca277215/Sample/SampleLocalApp/SampleLocalApp.iOS/Resources/star.png
--------------------------------------------------------------------------------
/Sample/SampleLocalApp/SampleLocalApp.iOS/Resources/star@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/messier16/Forms.Controls/ad594b164dd35d592a81fba2825d4dcaca277215/Sample/SampleLocalApp/SampleLocalApp.iOS/Resources/star@2x.png
--------------------------------------------------------------------------------
/Sample/SampleLocalApp/SampleLocalApp.iOS/Resources/star@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/messier16/Forms.Controls/ad594b164dd35d592a81fba2825d4dcaca277215/Sample/SampleLocalApp/SampleLocalApp.iOS/Resources/star@3x.png
--------------------------------------------------------------------------------
/Sample/SampleLocalApp/SampleLocalApp.iOS/Resources/star_filled.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/messier16/Forms.Controls/ad594b164dd35d592a81fba2825d4dcaca277215/Sample/SampleLocalApp/SampleLocalApp.iOS/Resources/star_filled.png
--------------------------------------------------------------------------------
/Sample/SampleLocalApp/SampleLocalApp.iOS/Resources/star_filled@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/messier16/Forms.Controls/ad594b164dd35d592a81fba2825d4dcaca277215/Sample/SampleLocalApp/SampleLocalApp.iOS/Resources/star_filled@2x.png
--------------------------------------------------------------------------------
/Sample/SampleLocalApp/SampleLocalApp.iOS/Resources/star_filled@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/messier16/Forms.Controls/ad594b164dd35d592a81fba2825d4dcaca277215/Sample/SampleLocalApp/SampleLocalApp.iOS/Resources/star_filled@3x.png
--------------------------------------------------------------------------------
/Sample/SampleLocalApp/SampleLocalApp.iOS/Resources/xaml.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/messier16/Forms.Controls/ad594b164dd35d592a81fba2825d4dcaca277215/Sample/SampleLocalApp/SampleLocalApp.iOS/Resources/xaml.png
--------------------------------------------------------------------------------
/Sample/SampleLocalApp/SampleLocalApp.iOS/Resources/xaml@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/messier16/Forms.Controls/ad594b164dd35d592a81fba2825d4dcaca277215/Sample/SampleLocalApp/SampleLocalApp.iOS/Resources/xaml@2x.png
--------------------------------------------------------------------------------
/Sample/SampleLocalApp/SampleLocalApp.iOS/Resources/xaml@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/messier16/Forms.Controls/ad594b164dd35d592a81fba2825d4dcaca277215/Sample/SampleLocalApp/SampleLocalApp.iOS/Resources/xaml@3x.png
--------------------------------------------------------------------------------
/Sample/SampleLocalApp/SampleLocalApp.iOS/packages.config:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
--------------------------------------------------------------------------------
/Sample/SampleLocalApp/SampleLocalApp/Controls/ControlCell.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using Xamarin.Forms;
3 |
4 | namespace TestApp
5 | {
6 | public class ControlCell : ViewCell where T : View, new()
7 | {
8 | public T Control
9 | {
10 | get;
11 | private set;
12 | }
13 |
14 | public ControlCell()
15 | {
16 | var grid = new Grid()
17 | {
18 | ColumnDefinitions =
19 | {
20 | new ColumnDefinition { Width = new GridLength(1, GridUnitType.Star) },
21 | new ColumnDefinition { Width = new GridLength(1, GridUnitType.Auto) },
22 | new ColumnDefinition { Width = new GridLength(1, GridUnitType.Star) },
23 | }
24 | };
25 |
26 | var control = new T();
27 | Grid.SetColumn(control, 1);
28 | grid.Children.Add(control);
29 |
30 | control.SetBinding(View.IsVisibleProperty, "IsVisible");
31 |
32 | View = grid;
33 | }
34 | }
35 | }
36 |
--------------------------------------------------------------------------------
/Sample/SampleLocalApp/SampleLocalApp/Controls/ControlWrapper.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.ComponentModel;
3 |
4 | namespace TestApp
5 | {
6 | public class ControlWrapper : INotifyPropertyChanged
7 | {
8 | private bool isVisible;
9 | public bool IsVisible
10 | {
11 | get { return isVisible;}
12 | set { isVisible = value;
13 | PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(nameof(IsVisible)));
14 | }
15 | }
16 |
17 | public event PropertyChangedEventHandler PropertyChanged;
18 | }
19 | }
20 |
--------------------------------------------------------------------------------
/Sample/SampleLocalApp/SampleLocalApp/Controls/DoubleControlCell.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using Xamarin.Forms;
3 |
4 | namespace TestApp
5 | {
6 | public class ControlCell : ViewCell where T1 : View, new() where T2 : View, new()
7 | {
8 | public T1 Control1
9 | {
10 | get;
11 | private set;
12 | }
13 |
14 | public T2 Control2
15 | {
16 | get;
17 | private set;
18 | }
19 |
20 | public ControlCell()
21 | {
22 | var grid = new Grid()
23 | {
24 | ColumnDefinitions =
25 | {
26 | new ColumnDefinition { Width = new GridLength(1, GridUnitType.Star) },
27 | new ColumnDefinition { Width = new GridLength(1, GridUnitType.Auto) },
28 | new ColumnDefinition { Width = new GridLength(1, GridUnitType.Star) },
29 | new ColumnDefinition { Width = new GridLength(1, GridUnitType.Star) },
30 | }
31 | };
32 |
33 | var control1 = new T1();
34 | Grid.SetColumn(control1, 1);
35 | grid.Children.Add(control1);
36 |
37 | var control2 = new T2();
38 | Grid.SetColumn(control2, 2);
39 | grid.Children.Add(control2);
40 |
41 | control1.SetBinding(View.IsVisibleProperty, "IsVisible");
42 | control2.SetBinding(View.IsVisibleProperty, "IsVisible");
43 |
44 | View = grid;
45 | }
46 | }
47 | }
48 |
--------------------------------------------------------------------------------
/Sample/SampleLocalApp/SampleLocalApp/Converters/BoolToCheckedTextConverter.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using Xamarin.Forms;
3 |
4 | namespace TestApp.Converters
5 | {
6 | public class BoolToCheckedTextConverter : IValueConverter
7 | {
8 |
9 | #region IValueConverter implementation
10 |
11 | public object Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
12 | {
13 | if ((bool)value)
14 | return "Checked";
15 | return "Unchecked";
16 | }
17 |
18 | public object ConvertBack(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
19 | {
20 | throw new NotImplementedException();
21 | }
22 |
23 | #endregion
24 | }
25 | }
26 |
27 |
--------------------------------------------------------------------------------
/Sample/SampleLocalApp/SampleLocalApp/Converters/NegateBooleanConverter.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using Xamarin.Forms;
3 |
4 | namespace TestApp.Converters
5 | {
6 | public class NegateBooleanConverter : IValueConverter
7 | {
8 | #region IValueConverter implementation
9 |
10 | public object Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
11 | {
12 | return !((bool)value);
13 | }
14 |
15 | public object ConvertBack(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
16 | {
17 | return !((bool)value);
18 | }
19 |
20 | #endregion
21 | }
22 | }
23 |
24 |
--------------------------------------------------------------------------------
/Sample/SampleLocalApp/SampleLocalApp/Pages/CheckboxPage.cs:
--------------------------------------------------------------------------------
1 | using System;
2 |
3 | using Xamarin.Forms;
4 | using TestApp.Pages.CheckboxPages;
5 |
6 | namespace TestApp.Pages
7 | {
8 | public class CheckboxPage : TabbedPage
9 | {
10 | public CheckboxPage()
11 | {
12 | Title = "Checkbox";
13 | AutomationId = "page";
14 |
15 | Children.Add(new CheckboxCodePage { Title = "Code", Icon = "code.png"});
16 | Children.Add(new CheckboxXamlPage { Title = "Markup", Icon = "xaml.png" });
17 | Children.Add(new CheckboxListCodePage { Title = "List", Icon = "xaml.png" });
18 | }
19 | }
20 | }
21 |
22 |
23 |
--------------------------------------------------------------------------------
/Sample/SampleLocalApp/SampleLocalApp/Pages/CheckboxPages/CheckboxListCodePage.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Collections.Generic;
3 | using System.Collections.ObjectModel;
4 | using System.Linq;
5 | using Messier16.Forms.Controls;
6 | using TestApp.ViewModels;
7 | using Xamarin.Forms;
8 |
9 | namespace TestApp
10 | {
11 | public class CheckboxListCodePage : ContentPage
12 | {
13 | ObservableCollection controls;
14 | Random r = new Random();
15 |
16 | public List GetControls(int n)
17 | {
18 | return System.Linq.Enumerable.Range(0, n)
19 | .Select(i => new ControlWrapper() { IsVisible = i % 2 == 0 })
20 | .ToList();
21 | }
22 |
23 | public CheckboxListCodePage()
24 | {
25 |
26 | ToolbarItem reload = new ToolbarItem() { Text = "Reload" };
27 | reload.Clicked += (sender, e) =>
28 | {
29 | controls.Clear();
30 | var c = GetControls(30);
31 | foreach (var item in c)
32 | {
33 | controls.Add(item);
34 | }
35 | };
36 |
37 | ToolbarItems.Add(reload);
38 |
39 | BindingContext = new CheckboxViewModel();
40 | var list = new ListView();
41 |
42 | //list.SetBinding(ListView.ItemsSourceProperty, "Checkboxes");
43 | var template = new DataTemplate(typeof(ControlCell));
44 | list.ItemTemplate = template;
45 |
46 | controls = new ObservableCollection(GetControls(30));
47 | list.ItemsSource = controls;
48 | list.ItemSelected += (sender, e) =>
49 | {
50 |
51 | if (list.SelectedItem != null)
52 | {
53 | var c = list.SelectedItem as ControlWrapper;
54 | c.IsVisible = !c.IsVisible;
55 | list.SelectedItem = null;
56 | }
57 | };
58 |
59 | Content = list;
60 | }
61 | }
62 | }
63 |
--------------------------------------------------------------------------------
/Sample/SampleLocalApp/SampleLocalApp/Pages/CheckboxPages/CheckboxXamlPage.xaml:
--------------------------------------------------------------------------------
1 |
2 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
36 |
37 |
38 |
39 |
40 |
41 |
42 |
43 |
44 |
--------------------------------------------------------------------------------
/Sample/SampleLocalApp/SampleLocalApp/Pages/CheckboxPages/CheckboxXamlPage.xaml.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Collections.Generic;
3 |
4 | using Xamarin.Forms;
5 | using TestApp.ViewModels;
6 |
7 | namespace TestApp.Pages.CheckboxPages
8 | {
9 | public partial class CheckboxXamlPage : ContentPage
10 | {
11 | public CheckboxXamlPage()
12 | {
13 | BindingContext = new CheckboxViewModel();
14 | InitializeComponent();
15 | }
16 | }
17 | }
18 |
19 |
--------------------------------------------------------------------------------
/Sample/SampleLocalApp/SampleLocalApp/Pages/HomePage.cs:
--------------------------------------------------------------------------------
1 | using System;
2 |
3 | using Xamarin.Forms;
4 |
5 | namespace TestApp.Pages
6 | {
7 | public class HomePage : ContentPage
8 | {
9 |
10 | private Button GoToRatingBarButton;
11 | private Button GoToCheckboxButton;
12 | private Button GoToSegmentedControl;
13 |
14 | public HomePage()
15 | {
16 | Title = "Messier16 Controls";
17 |
18 | GoToRatingBarButton = new Button();
19 | GoToRatingBarButton.AutomationId = nameof(GoToRatingBarButton);
20 | GoToRatingBarButton.Text = "RatingBar";
21 | GoToRatingBarButton.Clicked += GoToButton_Clicked;
22 |
23 |
24 | GoToCheckboxButton = new Button();
25 | GoToCheckboxButton.AutomationId = nameof(GoToCheckboxButton);
26 | GoToCheckboxButton.Text = "Checkbox";
27 | GoToCheckboxButton.Clicked += GoToButton_Clicked;
28 |
29 | GoToSegmentedControl = new Button();
30 | GoToSegmentedControl.AutomationId = nameof(GoToSegmentedControl);
31 | GoToSegmentedControl.Text = "SegmentedControl";
32 | GoToSegmentedControl.Clicked += GoToButton_Clicked;
33 |
34 | Content = new StackLayout
35 | {
36 | Children =
37 | {
38 | GoToRatingBarButton,
39 | GoToCheckboxButton,
40 | GoToSegmentedControl
41 | }
42 | };
43 | }
44 |
45 | async void GoToButton_Clicked(object sender, EventArgs e)
46 | {
47 | var b = sender as Button;
48 | if (b == GoToRatingBarButton)
49 | await App.Navigation.PushAsync(new RatingBarPage());
50 | if (b == GoToCheckboxButton)
51 | await App.Navigation.PushAsync(new CheckboxPage());
52 | if (b == GoToSegmentedControl)
53 | await App.Navigation.PushAsync(new SegmentedControlPage());
54 | }
55 | }
56 | }
57 |
58 |
59 |
--------------------------------------------------------------------------------
/Sample/SampleLocalApp/SampleLocalApp/Pages/RatingBarPage.cs:
--------------------------------------------------------------------------------
1 | using System;
2 |
3 | using Xamarin.Forms;
4 | using TestApp.Pages.RatingBarPages;
5 |
6 | namespace TestApp.Pages
7 | {
8 | public class RatingBarPage : TabbedPage
9 | {
10 | public RatingBarPage()
11 | {
12 | Title = "RatingBar";
13 | AutomationId = "page";
14 |
15 | Children.Add(new RatingBarCodePage { Title = "Code" , Icon="code.png" });
16 | Children.Add(new RatingBarXamlPage { Title = "Markup", Icon = "xaml.png" });
17 | }
18 | }
19 | }
20 |
21 |
22 |
--------------------------------------------------------------------------------
/Sample/SampleLocalApp/SampleLocalApp/Pages/RatingBarPages/RatingBarXamlPage.xaml:
--------------------------------------------------------------------------------
1 |
2 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
--------------------------------------------------------------------------------
/Sample/SampleLocalApp/SampleLocalApp/Pages/RatingBarPages/RatingBarXamlPage.xaml.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Collections.Generic;
3 | using System.Linq;
4 | using System.Text;
5 | using System.Threading.Tasks;
6 | using TestApp.ViewModels;
7 | using Xamarin.Forms;
8 |
9 | namespace TestApp.Pages.RatingBarPages
10 | {
11 | public partial class RatingBarXamlPage : ContentPage
12 | {
13 | public RatingBarXamlPage()
14 | {
15 | BindingContext = new RatingBarViewModel();
16 | InitializeComponent();
17 | }
18 | }
19 | }
20 |
--------------------------------------------------------------------------------
/Sample/SampleLocalApp/SampleLocalApp/Pages/SegmentedControlPage.cs:
--------------------------------------------------------------------------------
1 | using System;
2 |
3 | using Xamarin.Forms;
4 | using TestApp.Pages.RatingBarPages;
5 | using TestApp.Pages.SegmentedControlPages;
6 |
7 | namespace TestApp.Pages
8 | {
9 | public class SegmentedControlPage : TabbedPage
10 | {
11 | public SegmentedControlPage()
12 | {
13 | Title = "SegmentedControl";
14 | AutomationId = "page";
15 |
16 | Children.Add(new SegmentedControlCodePage { Title = "Code", Icon="code.png" });
17 | Children.Add(new SegmentedControlXamlPage { Title = "Markup", Icon = "xaml.png" });
18 | }
19 | }
20 | }
21 |
22 |
23 |
--------------------------------------------------------------------------------
/Sample/SampleLocalApp/SampleLocalApp/Pages/SegmentedControlPages/SegmentedControlXamlPage.xaml:
--------------------------------------------------------------------------------
1 |
2 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
34 |
35 |
36 |
37 |
38 |
39 |
40 |
45 |
46 |
50 |
51 |
56 |
57 |
58 |
59 |
--------------------------------------------------------------------------------
/Sample/SampleLocalApp/SampleLocalApp/Pages/SegmentedControlPages/SegmentedControlXamlPage.xaml.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Collections.Generic;
3 | using System.Linq;
4 | using System.Text;
5 | using System.Threading.Tasks;
6 | using TestApp.ViewModels;
7 | using Xamarin.Forms;
8 | using Messier16.Forms.Controls;
9 |
10 | namespace TestApp.Pages.SegmentedControlPages
11 | {
12 | public partial class SegmentedControlXamlPage : ContentPage
13 | {
14 |
15 |
16 | string [] values = { "Artists", "Albums", "Songs", "Local" };
17 |
18 | public SegmentedControlXamlPage()
19 | {
20 | BindingContext = new SegmentedControlViewModel();
21 | InitializeComponent();
22 |
23 | foreach (var item in values)
24 | {
25 | DisabledSegmentedControl.Children.Add(new SegmentedControlOption { Text = item });
26 | }
27 |
28 | foreach (var item in values)
29 | {
30 | picker.Items.Add(item);
31 | }
32 | picker.SelectedIndex = 0;
33 | }
34 | }
35 | }
36 |
--------------------------------------------------------------------------------
/Sample/SampleLocalApp/SampleLocalApp/SampleLocalApp.csproj:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | netstandard2.0
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 | *.xaml
18 |
19 |
20 | *.xaml
21 |
22 |
23 |
--------------------------------------------------------------------------------
/Sample/SampleLocalApp/SampleLocalApp/TestApp.cs:
--------------------------------------------------------------------------------
1 | using System;
2 |
3 | using Xamarin.Forms;
4 | using Messier16.Forms.Controls;
5 | using TestApp.Pages;
6 |
7 | namespace TestApp
8 | {
9 | public class App : Application
10 | {
11 | public static Color AppTint = Color.FromHex("3c8a3f");
12 |
13 | public App()
14 | {
15 | MainPage = new NavigationPage(new HomePage());
16 | Navigation = (MainPage as NavigationPage).Navigation;
17 | }
18 |
19 | public static INavigation Navigation { get; private set;}
20 |
21 | protected override void OnStart()
22 | {
23 | // Handle when your app starts
24 | }
25 |
26 | protected override void OnSleep()
27 | {
28 | // Handle when your app sleeps
29 | }
30 |
31 | protected override void OnResume()
32 | {
33 | // Handle when your app resumes
34 | }
35 | }
36 | }
37 |
38 |
--------------------------------------------------------------------------------
/Sample/SampleLocalApp/SampleLocalApp/ViewModels/CheckboxViewModel.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using Xamarin.Forms;
3 |
4 | namespace TestApp.ViewModels
5 | {
6 | public class CheckboxViewModel : ViewModelBase
7 | {
8 |
9 | public CheckboxViewModel()
10 | {
11 | Check2 = false;
12 | }
13 |
14 | private bool _check1;
15 |
16 | public bool Check1
17 | {
18 | get { return _check1; }
19 | set { _check1 = value; OnPropertyChanged(); }
20 | }
21 |
22 | private bool _check2;
23 |
24 | public bool Check2
25 | {
26 | get { return _check2; }
27 | set { _check2 = value; OnPropertyChanged(); }
28 | }
29 |
30 | private bool _otherCheck;
31 |
32 | public bool OtherCheck
33 | {
34 | get { return _otherCheck; }
35 | set { _otherCheck = value; OnPropertyChanged(); }
36 | }
37 |
38 | private bool _toggleCheck;
39 |
40 | public bool ToggleCheck
41 | {
42 | get { return _toggleCheck; }
43 | set { _toggleCheck = value; OnPropertyChanged(); }
44 | }
45 |
46 | private Command _toggleCheckCommand;
47 |
48 | public Command ToggleCheckCommand
49 | {
50 | get
51 | {
52 | return _toggleCheckCommand ??
53 | (_toggleCheckCommand = new Command(
54 | () =>
55 | {
56 | ToggleCheck = !ToggleCheck;
57 | }
58 | ));
59 | }
60 | }
61 | }
62 | }
63 |
64 |
--------------------------------------------------------------------------------
/Sample/SampleLocalApp/SampleLocalApp/ViewModels/RatingBarViewModel.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Collections.Generic;
3 | using System.Linq;
4 | using System.Text;
5 | using System.Threading.Tasks;
6 |
7 | namespace TestApp.ViewModels
8 | {
9 | public class RatingBarViewModel : ViewModelBase
10 | {
11 |
12 | private int _beerRating;
13 | public int BeerRating
14 | {
15 | get { return _beerRating; }
16 | set { _beerRating = value; OnPropertyChanged(); }
17 | }
18 |
19 | private int _rating;
20 | public int Rating
21 | {
22 | get { return _rating; }
23 | set { _rating = value; OnPropertyChanged(); }
24 | }
25 | }
26 | }
27 |
--------------------------------------------------------------------------------
/Sample/SampleLocalApp/SampleLocalApp/ViewModels/SegmentedControlViewModel.cs:
--------------------------------------------------------------------------------
1 | namespace TestApp.ViewModels
2 | {
3 | public class SegmentedControlViewModel : ViewModelBase
4 | {
5 | public SegmentedControlViewModel()
6 | {
7 | SelectedIx = 0;
8 | }
9 | private int _selectedIx;
10 | public int SelectedIx
11 | {
12 | get { return _selectedIx; }
13 | set { _selectedIx = value; OnPropertyChanged(); }
14 | }
15 |
16 | private string _sportText;
17 | public string SportText
18 | {
19 | get { return _sportText; }
20 | set { _sportText = value; OnPropertyChanged(); }
21 | }
22 | }
23 | }
24 |
--------------------------------------------------------------------------------
/Sample/SampleLocalApp/SampleLocalApp/ViewModels/ViewModelBase.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Collections.Generic;
3 | using System.ComponentModel;
4 | using System.Linq;
5 | using System.Runtime.CompilerServices;
6 | using System.Text;
7 | using System.Threading.Tasks;
8 |
9 | namespace TestApp.ViewModels
10 | {
11 | public class ViewModelBase : INotifyPropertyChanged
12 | {
13 | public event PropertyChangedEventHandler PropertyChanged;
14 |
15 | protected virtual void OnPropertyChanged([CallerMemberName] string propertyName = null)
16 | {
17 | PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(propertyName));
18 | }
19 | }
20 | }
21 |
--------------------------------------------------------------------------------
/Sample/SampleNuGetApp/SampleNuGetApp.Android/Assets/AboutAssets.txt:
--------------------------------------------------------------------------------
1 | Any raw assets you want to be deployed with your application can be placed in
2 | this directory (and child directories) and given a Build Action of "AndroidAsset".
3 |
4 | These files will be deployed with you package and will be accessible using Android's
5 | AssetManager, like this:
6 |
7 | public class ReadAsset : Activity
8 | {
9 | protected override void OnCreate (Bundle bundle)
10 | {
11 | base.OnCreate (bundle);
12 |
13 | InputStream input = Assets.Open ("my_asset.txt");
14 | }
15 | }
16 |
17 | Additionally, some Android functions will automatically load asset files:
18 |
19 | Typeface tf = Typeface.CreateFromAsset (Context.Assets, "fonts/samplefont.ttf");
20 |
--------------------------------------------------------------------------------
/Sample/SampleNuGetApp/SampleNuGetApp.Android/MainActivity.cs:
--------------------------------------------------------------------------------
1 | using System;
2 |
3 | using Android.App;
4 | using Android.Content.PM;
5 | using Android.Runtime;
6 | using Android.Views;
7 | using Android.Widget;
8 | using Android.OS;
9 |
10 | namespace SampleNuGetApp.Droid
11 | {
12 | [Activity(Label = "SampleNuGetApp", Icon = "@drawable/icon", Theme = "@style/MainTheme", MainLauncher = true, ConfigurationChanges = ConfigChanges.ScreenSize | ConfigChanges.Orientation)]
13 | public class MainActivity : global::Xamarin.Forms.Platform.Android.FormsAppCompatActivity
14 | {
15 | protected override void OnCreate(Bundle bundle)
16 | {
17 | TabLayoutResource = Resource.Layout.Tabbar;
18 | ToolbarResource = Resource.Layout.Toolbar;
19 |
20 | base.OnCreate(bundle);
21 |
22 | global::Xamarin.Forms.Forms.Init(this, bundle);
23 | Messier16.Forms.Android.Controls.Messier16Controls.InitAll();
24 | LoadApplication(new TestApp.App());
25 | }
26 | }
27 | }
28 |
29 |
--------------------------------------------------------------------------------
/Sample/SampleNuGetApp/SampleNuGetApp.Android/Properties/AndroidManifest.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/Sample/SampleNuGetApp/SampleNuGetApp.Android/Properties/AssemblyInfo.cs:
--------------------------------------------------------------------------------
1 | using System.Reflection;
2 | using System.Runtime.CompilerServices;
3 | using System.Runtime.InteropServices;
4 | using Android.App;
5 |
6 | // General Information about an assembly is controlled through the following
7 | // set of attributes. Change these attribute values to modify the information
8 | // associated with an assembly.
9 | [assembly: AssemblyTitle("SampleNuGetApp.Android")]
10 | [assembly: AssemblyDescription("")]
11 | [assembly: AssemblyConfiguration("")]
12 | [assembly: AssemblyCompany("")]
13 | [assembly: AssemblyProduct("SampleNuGetApp.Android")]
14 | [assembly: AssemblyCopyright("Copyright © 2014")]
15 | [assembly: AssemblyTrademark("")]
16 | [assembly: AssemblyCulture("")]
17 | [assembly: ComVisible(false)]
18 |
19 | // Version information for an assembly consists of the following four values:
20 | //
21 | // Major Version
22 | // Minor Version
23 | // Build Number
24 | // Revision
25 | //
26 | // You can specify all the values or you can default the Build and Revision Numbers
27 | // by using the '*' as shown below:
28 | // [assembly: AssemblyVersion("1.0.*")]
29 | [assembly: AssemblyVersion("1.0.0.0")]
30 | [assembly: AssemblyFileVersion("1.0.0.0")]
31 |
32 | // Add some common permissions, these can be removed if not needed
33 | [assembly: UsesPermission(Android.Manifest.Permission.Internet)]
34 | [assembly: UsesPermission(Android.Manifest.Permission.WriteExternalStorage)]
35 |
--------------------------------------------------------------------------------
/Sample/SampleNuGetApp/SampleNuGetApp.Android/Resources/AboutResources.txt:
--------------------------------------------------------------------------------
1 | Images, layout descriptions, binary blobs and string dictionaries can be included
2 | in your application as resource files. Various Android APIs are designed to
3 | operate on the resource IDs instead of dealing with images, strings or binary blobs
4 | directly.
5 |
6 | For example, a sample Android app that contains a user interface layout (main.xml),
7 | an internationalization string table (strings.xml) and some icons (drawable-XXX/icon.png)
8 | would keep its resources in the "Resources" directory of the application:
9 |
10 | Resources/
11 | drawable-hdpi/
12 | icon.png
13 |
14 | drawable-ldpi/
15 | icon.png
16 |
17 | drawable-mdpi/
18 | icon.png
19 |
20 | layout/
21 | main.xml
22 |
23 | values/
24 | strings.xml
25 |
26 | In order to get the build system to recognize Android resources, set the build action to
27 | "AndroidResource". The native Android APIs do not operate directly with filenames, but
28 | instead operate on resource IDs. When you compile an Android application that uses resources,
29 | the build system will package the resources for distribution and generate a class called
30 | "Resource" that contains the tokens for each one of the resources included. For example,
31 | for the above Resources layout, this is what the Resource class would expose:
32 |
33 | public class Resource {
34 | public class drawable {
35 | public const int icon = 0x123;
36 | }
37 |
38 | public class layout {
39 | public const int main = 0x456;
40 | }
41 |
42 | public class strings {
43 | public const int first_string = 0xabc;
44 | public const int second_string = 0xbcd;
45 | }
46 | }
47 |
48 | You would then use R.drawable.icon to reference the drawable/icon.png file, or Resource.layout.main
49 | to reference the layout/main.xml file, or Resource.strings.first_string to reference the first
50 | string in the dictionary file values/strings.xml.
51 |
--------------------------------------------------------------------------------
/Sample/SampleNuGetApp/SampleNuGetApp.Android/Resources/drawable-hdpi/code.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/messier16/Forms.Controls/ad594b164dd35d592a81fba2825d4dcaca277215/Sample/SampleNuGetApp/SampleNuGetApp.Android/Resources/drawable-hdpi/code.png
--------------------------------------------------------------------------------
/Sample/SampleNuGetApp/SampleNuGetApp.Android/Resources/drawable-hdpi/icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/messier16/Forms.Controls/ad594b164dd35d592a81fba2825d4dcaca277215/Sample/SampleNuGetApp/SampleNuGetApp.Android/Resources/drawable-hdpi/icon.png
--------------------------------------------------------------------------------
/Sample/SampleNuGetApp/SampleNuGetApp.Android/Resources/drawable-hdpi/xaml.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/messier16/Forms.Controls/ad594b164dd35d592a81fba2825d4dcaca277215/Sample/SampleNuGetApp/SampleNuGetApp.Android/Resources/drawable-hdpi/xaml.png
--------------------------------------------------------------------------------
/Sample/SampleNuGetApp/SampleNuGetApp.Android/Resources/drawable-xhdpi/code.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/messier16/Forms.Controls/ad594b164dd35d592a81fba2825d4dcaca277215/Sample/SampleNuGetApp/SampleNuGetApp.Android/Resources/drawable-xhdpi/code.png
--------------------------------------------------------------------------------
/Sample/SampleNuGetApp/SampleNuGetApp.Android/Resources/drawable-xhdpi/config.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/messier16/Forms.Controls/ad594b164dd35d592a81fba2825d4dcaca277215/Sample/SampleNuGetApp/SampleNuGetApp.Android/Resources/drawable-xhdpi/config.png
--------------------------------------------------------------------------------
/Sample/SampleNuGetApp/SampleNuGetApp.Android/Resources/drawable-xhdpi/hashtag.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/messier16/Forms.Controls/ad594b164dd35d592a81fba2825d4dcaca277215/Sample/SampleNuGetApp/SampleNuGetApp.Android/Resources/drawable-xhdpi/hashtag.png
--------------------------------------------------------------------------------
/Sample/SampleNuGetApp/SampleNuGetApp.Android/Resources/drawable-xhdpi/home.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/messier16/Forms.Controls/ad594b164dd35d592a81fba2825d4dcaca277215/Sample/SampleNuGetApp/SampleNuGetApp.Android/Resources/drawable-xhdpi/home.png
--------------------------------------------------------------------------------
/Sample/SampleNuGetApp/SampleNuGetApp.Android/Resources/drawable-xhdpi/icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/messier16/Forms.Controls/ad594b164dd35d592a81fba2825d4dcaca277215/Sample/SampleNuGetApp/SampleNuGetApp.Android/Resources/drawable-xhdpi/icon.png
--------------------------------------------------------------------------------
/Sample/SampleNuGetApp/SampleNuGetApp.Android/Resources/drawable-xhdpi/message.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/messier16/Forms.Controls/ad594b164dd35d592a81fba2825d4dcaca277215/Sample/SampleNuGetApp/SampleNuGetApp.Android/Resources/drawable-xhdpi/message.png
--------------------------------------------------------------------------------
/Sample/SampleNuGetApp/SampleNuGetApp.Android/Resources/drawable-xhdpi/xaml.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/messier16/Forms.Controls/ad594b164dd35d592a81fba2825d4dcaca277215/Sample/SampleNuGetApp/SampleNuGetApp.Android/Resources/drawable-xhdpi/xaml.png
--------------------------------------------------------------------------------
/Sample/SampleNuGetApp/SampleNuGetApp.Android/Resources/drawable-xxhdpi/config.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/messier16/Forms.Controls/ad594b164dd35d592a81fba2825d4dcaca277215/Sample/SampleNuGetApp/SampleNuGetApp.Android/Resources/drawable-xxhdpi/config.png
--------------------------------------------------------------------------------
/Sample/SampleNuGetApp/SampleNuGetApp.Android/Resources/drawable-xxhdpi/hashtag.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/messier16/Forms.Controls/ad594b164dd35d592a81fba2825d4dcaca277215/Sample/SampleNuGetApp/SampleNuGetApp.Android/Resources/drawable-xxhdpi/hashtag.png
--------------------------------------------------------------------------------
/Sample/SampleNuGetApp/SampleNuGetApp.Android/Resources/drawable-xxhdpi/home.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/messier16/Forms.Controls/ad594b164dd35d592a81fba2825d4dcaca277215/Sample/SampleNuGetApp/SampleNuGetApp.Android/Resources/drawable-xxhdpi/home.png
--------------------------------------------------------------------------------
/Sample/SampleNuGetApp/SampleNuGetApp.Android/Resources/drawable-xxhdpi/icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/messier16/Forms.Controls/ad594b164dd35d592a81fba2825d4dcaca277215/Sample/SampleNuGetApp/SampleNuGetApp.Android/Resources/drawable-xxhdpi/icon.png
--------------------------------------------------------------------------------
/Sample/SampleNuGetApp/SampleNuGetApp.Android/Resources/drawable-xxhdpi/message.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/messier16/Forms.Controls/ad594b164dd35d592a81fba2825d4dcaca277215/Sample/SampleNuGetApp/SampleNuGetApp.Android/Resources/drawable-xxhdpi/message.png
--------------------------------------------------------------------------------
/Sample/SampleNuGetApp/SampleNuGetApp.Android/Resources/drawable-xxxhdpi/config.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/messier16/Forms.Controls/ad594b164dd35d592a81fba2825d4dcaca277215/Sample/SampleNuGetApp/SampleNuGetApp.Android/Resources/drawable-xxxhdpi/config.png
--------------------------------------------------------------------------------
/Sample/SampleNuGetApp/SampleNuGetApp.Android/Resources/drawable-xxxhdpi/hashtag.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/messier16/Forms.Controls/ad594b164dd35d592a81fba2825d4dcaca277215/Sample/SampleNuGetApp/SampleNuGetApp.Android/Resources/drawable-xxxhdpi/hashtag.png
--------------------------------------------------------------------------------
/Sample/SampleNuGetApp/SampleNuGetApp.Android/Resources/drawable-xxxhdpi/home.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/messier16/Forms.Controls/ad594b164dd35d592a81fba2825d4dcaca277215/Sample/SampleNuGetApp/SampleNuGetApp.Android/Resources/drawable-xxxhdpi/home.png
--------------------------------------------------------------------------------
/Sample/SampleNuGetApp/SampleNuGetApp.Android/Resources/drawable-xxxhdpi/message.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/messier16/Forms.Controls/ad594b164dd35d592a81fba2825d4dcaca277215/Sample/SampleNuGetApp/SampleNuGetApp.Android/Resources/drawable-xxxhdpi/message.png
--------------------------------------------------------------------------------
/Sample/SampleNuGetApp/SampleNuGetApp.Android/Resources/drawable/code.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/messier16/Forms.Controls/ad594b164dd35d592a81fba2825d4dcaca277215/Sample/SampleNuGetApp/SampleNuGetApp.Android/Resources/drawable/code.png
--------------------------------------------------------------------------------
/Sample/SampleNuGetApp/SampleNuGetApp.Android/Resources/drawable/icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/messier16/Forms.Controls/ad594b164dd35d592a81fba2825d4dcaca277215/Sample/SampleNuGetApp/SampleNuGetApp.Android/Resources/drawable/icon.png
--------------------------------------------------------------------------------
/Sample/SampleNuGetApp/SampleNuGetApp.Android/Resources/drawable/xaml.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/messier16/Forms.Controls/ad594b164dd35d592a81fba2825d4dcaca277215/Sample/SampleNuGetApp/SampleNuGetApp.Android/Resources/drawable/xaml.png
--------------------------------------------------------------------------------
/Sample/SampleNuGetApp/SampleNuGetApp.Android/Resources/layout/Tabbar.axml:
--------------------------------------------------------------------------------
1 |
2 |
12 |
--------------------------------------------------------------------------------
/Sample/SampleNuGetApp/SampleNuGetApp.Android/Resources/layout/Toolbar.axml:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/Sample/SampleNuGetApp/SampleNuGetApp.Android/Resources/layout/tabs.axml:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/Sample/SampleNuGetApp/SampleNuGetApp.Android/Resources/mipmap-hdpi/Icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/messier16/Forms.Controls/ad594b164dd35d592a81fba2825d4dcaca277215/Sample/SampleNuGetApp/SampleNuGetApp.Android/Resources/mipmap-hdpi/Icon.png
--------------------------------------------------------------------------------
/Sample/SampleNuGetApp/SampleNuGetApp.Android/Resources/mipmap-mdpi/Icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/messier16/Forms.Controls/ad594b164dd35d592a81fba2825d4dcaca277215/Sample/SampleNuGetApp/SampleNuGetApp.Android/Resources/mipmap-mdpi/Icon.png
--------------------------------------------------------------------------------
/Sample/SampleNuGetApp/SampleNuGetApp.Android/Resources/mipmap-xhdpi/Icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/messier16/Forms.Controls/ad594b164dd35d592a81fba2825d4dcaca277215/Sample/SampleNuGetApp/SampleNuGetApp.Android/Resources/mipmap-xhdpi/Icon.png
--------------------------------------------------------------------------------
/Sample/SampleNuGetApp/SampleNuGetApp.Android/Resources/mipmap-xxhdpi/Icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/messier16/Forms.Controls/ad594b164dd35d592a81fba2825d4dcaca277215/Sample/SampleNuGetApp/SampleNuGetApp.Android/Resources/mipmap-xxhdpi/Icon.png
--------------------------------------------------------------------------------
/Sample/SampleNuGetApp/SampleNuGetApp.Android/Resources/mipmap-xxxhdpi/Icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/messier16/Forms.Controls/ad594b164dd35d592a81fba2825d4dcaca277215/Sample/SampleNuGetApp/SampleNuGetApp.Android/Resources/mipmap-xxxhdpi/Icon.png
--------------------------------------------------------------------------------
/Sample/SampleNuGetApp/SampleNuGetApp.Android/Resources/values/Strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | Hello World, Click Me!
4 | SampleLocalApp.Droid
5 |
6 |
--------------------------------------------------------------------------------
/Sample/SampleNuGetApp/SampleNuGetApp.Android/Resources/values/colors.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | #4CAF50
4 | #388E3C
5 | #C8E6C9
6 | #448AFF
7 | #212121
8 | #727272
9 | #FFFFFF
10 | #B6B6B6
11 |
12 |
--------------------------------------------------------------------------------
/Sample/SampleNuGetApp/SampleNuGetApp.Android/Resources/values/style.xml:
--------------------------------------------------------------------------------
1 |
2 |
6 |
13 |
--------------------------------------------------------------------------------
/Sample/SampleNuGetApp/SampleNuGetApp.Android/Resources/values/styles.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
7 |
8 |
27 |
28 |
31 |
--------------------------------------------------------------------------------
/Sample/SampleNuGetApp/SampleNuGetApp.UWP/App.xaml:
--------------------------------------------------------------------------------
1 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/Sample/SampleNuGetApp/SampleNuGetApp.UWP/Assets/LockScreenLogo.scale-100.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/messier16/Forms.Controls/ad594b164dd35d592a81fba2825d4dcaca277215/Sample/SampleNuGetApp/SampleNuGetApp.UWP/Assets/LockScreenLogo.scale-100.png
--------------------------------------------------------------------------------
/Sample/SampleNuGetApp/SampleNuGetApp.UWP/Assets/LockScreenLogo.scale-125.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/messier16/Forms.Controls/ad594b164dd35d592a81fba2825d4dcaca277215/Sample/SampleNuGetApp/SampleNuGetApp.UWP/Assets/LockScreenLogo.scale-125.png
--------------------------------------------------------------------------------
/Sample/SampleNuGetApp/SampleNuGetApp.UWP/Assets/LockScreenLogo.scale-150.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/messier16/Forms.Controls/ad594b164dd35d592a81fba2825d4dcaca277215/Sample/SampleNuGetApp/SampleNuGetApp.UWP/Assets/LockScreenLogo.scale-150.png
--------------------------------------------------------------------------------
/Sample/SampleNuGetApp/SampleNuGetApp.UWP/Assets/LockScreenLogo.scale-200.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/messier16/Forms.Controls/ad594b164dd35d592a81fba2825d4dcaca277215/Sample/SampleNuGetApp/SampleNuGetApp.UWP/Assets/LockScreenLogo.scale-200.png
--------------------------------------------------------------------------------
/Sample/SampleNuGetApp/SampleNuGetApp.UWP/Assets/LockScreenLogo.scale-400.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/messier16/Forms.Controls/ad594b164dd35d592a81fba2825d4dcaca277215/Sample/SampleNuGetApp/SampleNuGetApp.UWP/Assets/LockScreenLogo.scale-400.png
--------------------------------------------------------------------------------
/Sample/SampleNuGetApp/SampleNuGetApp.UWP/Assets/SplashScreen.scale-100.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/messier16/Forms.Controls/ad594b164dd35d592a81fba2825d4dcaca277215/Sample/SampleNuGetApp/SampleNuGetApp.UWP/Assets/SplashScreen.scale-100.png
--------------------------------------------------------------------------------
/Sample/SampleNuGetApp/SampleNuGetApp.UWP/Assets/SplashScreen.scale-125.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/messier16/Forms.Controls/ad594b164dd35d592a81fba2825d4dcaca277215/Sample/SampleNuGetApp/SampleNuGetApp.UWP/Assets/SplashScreen.scale-125.png
--------------------------------------------------------------------------------
/Sample/SampleNuGetApp/SampleNuGetApp.UWP/Assets/SplashScreen.scale-150.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/messier16/Forms.Controls/ad594b164dd35d592a81fba2825d4dcaca277215/Sample/SampleNuGetApp/SampleNuGetApp.UWP/Assets/SplashScreen.scale-150.png
--------------------------------------------------------------------------------
/Sample/SampleNuGetApp/SampleNuGetApp.UWP/Assets/SplashScreen.scale-200.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/messier16/Forms.Controls/ad594b164dd35d592a81fba2825d4dcaca277215/Sample/SampleNuGetApp/SampleNuGetApp.UWP/Assets/SplashScreen.scale-200.png
--------------------------------------------------------------------------------
/Sample/SampleNuGetApp/SampleNuGetApp.UWP/Assets/SplashScreen.scale-400.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/messier16/Forms.Controls/ad594b164dd35d592a81fba2825d4dcaca277215/Sample/SampleNuGetApp/SampleNuGetApp.UWP/Assets/SplashScreen.scale-400.png
--------------------------------------------------------------------------------
/Sample/SampleNuGetApp/SampleNuGetApp.UWP/Assets/Square150x150Logo.scale-100.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/messier16/Forms.Controls/ad594b164dd35d592a81fba2825d4dcaca277215/Sample/SampleNuGetApp/SampleNuGetApp.UWP/Assets/Square150x150Logo.scale-100.png
--------------------------------------------------------------------------------
/Sample/SampleNuGetApp/SampleNuGetApp.UWP/Assets/Square150x150Logo.scale-125.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/messier16/Forms.Controls/ad594b164dd35d592a81fba2825d4dcaca277215/Sample/SampleNuGetApp/SampleNuGetApp.UWP/Assets/Square150x150Logo.scale-125.png
--------------------------------------------------------------------------------
/Sample/SampleNuGetApp/SampleNuGetApp.UWP/Assets/Square150x150Logo.scale-150.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/messier16/Forms.Controls/ad594b164dd35d592a81fba2825d4dcaca277215/Sample/SampleNuGetApp/SampleNuGetApp.UWP/Assets/Square150x150Logo.scale-150.png
--------------------------------------------------------------------------------
/Sample/SampleNuGetApp/SampleNuGetApp.UWP/Assets/Square150x150Logo.scale-200.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/messier16/Forms.Controls/ad594b164dd35d592a81fba2825d4dcaca277215/Sample/SampleNuGetApp/SampleNuGetApp.UWP/Assets/Square150x150Logo.scale-200.png
--------------------------------------------------------------------------------
/Sample/SampleNuGetApp/SampleNuGetApp.UWP/Assets/Square150x150Logo.scale-400.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/messier16/Forms.Controls/ad594b164dd35d592a81fba2825d4dcaca277215/Sample/SampleNuGetApp/SampleNuGetApp.UWP/Assets/Square150x150Logo.scale-400.png
--------------------------------------------------------------------------------
/Sample/SampleNuGetApp/SampleNuGetApp.UWP/Assets/Square44x44Logo.scale-100.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/messier16/Forms.Controls/ad594b164dd35d592a81fba2825d4dcaca277215/Sample/SampleNuGetApp/SampleNuGetApp.UWP/Assets/Square44x44Logo.scale-100.png
--------------------------------------------------------------------------------
/Sample/SampleNuGetApp/SampleNuGetApp.UWP/Assets/Square44x44Logo.scale-125.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/messier16/Forms.Controls/ad594b164dd35d592a81fba2825d4dcaca277215/Sample/SampleNuGetApp/SampleNuGetApp.UWP/Assets/Square44x44Logo.scale-125.png
--------------------------------------------------------------------------------
/Sample/SampleNuGetApp/SampleNuGetApp.UWP/Assets/Square44x44Logo.scale-150.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/messier16/Forms.Controls/ad594b164dd35d592a81fba2825d4dcaca277215/Sample/SampleNuGetApp/SampleNuGetApp.UWP/Assets/Square44x44Logo.scale-150.png
--------------------------------------------------------------------------------
/Sample/SampleNuGetApp/SampleNuGetApp.UWP/Assets/Square44x44Logo.scale-200.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/messier16/Forms.Controls/ad594b164dd35d592a81fba2825d4dcaca277215/Sample/SampleNuGetApp/SampleNuGetApp.UWP/Assets/Square44x44Logo.scale-200.png
--------------------------------------------------------------------------------
/Sample/SampleNuGetApp/SampleNuGetApp.UWP/Assets/Square44x44Logo.scale-400.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/messier16/Forms.Controls/ad594b164dd35d592a81fba2825d4dcaca277215/Sample/SampleNuGetApp/SampleNuGetApp.UWP/Assets/Square44x44Logo.scale-400.png
--------------------------------------------------------------------------------
/Sample/SampleNuGetApp/SampleNuGetApp.UWP/Assets/Square44x44Logo.targetsize-16_altform-unplated.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/messier16/Forms.Controls/ad594b164dd35d592a81fba2825d4dcaca277215/Sample/SampleNuGetApp/SampleNuGetApp.UWP/Assets/Square44x44Logo.targetsize-16_altform-unplated.png
--------------------------------------------------------------------------------
/Sample/SampleNuGetApp/SampleNuGetApp.UWP/Assets/Square44x44Logo.targetsize-24_altform-unplated.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/messier16/Forms.Controls/ad594b164dd35d592a81fba2825d4dcaca277215/Sample/SampleNuGetApp/SampleNuGetApp.UWP/Assets/Square44x44Logo.targetsize-24_altform-unplated.png
--------------------------------------------------------------------------------
/Sample/SampleNuGetApp/SampleNuGetApp.UWP/Assets/Square44x44Logo.targetsize-256_altform-unplated.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/messier16/Forms.Controls/ad594b164dd35d592a81fba2825d4dcaca277215/Sample/SampleNuGetApp/SampleNuGetApp.UWP/Assets/Square44x44Logo.targetsize-256_altform-unplated.png
--------------------------------------------------------------------------------
/Sample/SampleNuGetApp/SampleNuGetApp.UWP/Assets/Square44x44Logo.targetsize-32_altform-unplated.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/messier16/Forms.Controls/ad594b164dd35d592a81fba2825d4dcaca277215/Sample/SampleNuGetApp/SampleNuGetApp.UWP/Assets/Square44x44Logo.targetsize-32_altform-unplated.png
--------------------------------------------------------------------------------
/Sample/SampleNuGetApp/SampleNuGetApp.UWP/Assets/Square44x44Logo.targetsize-48_altform-unplated.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/messier16/Forms.Controls/ad594b164dd35d592a81fba2825d4dcaca277215/Sample/SampleNuGetApp/SampleNuGetApp.UWP/Assets/Square44x44Logo.targetsize-48_altform-unplated.png
--------------------------------------------------------------------------------
/Sample/SampleNuGetApp/SampleNuGetApp.UWP/Assets/StoreLogo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/messier16/Forms.Controls/ad594b164dd35d592a81fba2825d4dcaca277215/Sample/SampleNuGetApp/SampleNuGetApp.UWP/Assets/StoreLogo.png
--------------------------------------------------------------------------------
/Sample/SampleNuGetApp/SampleNuGetApp.UWP/Assets/Wide310x150Logo.scale-100.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/messier16/Forms.Controls/ad594b164dd35d592a81fba2825d4dcaca277215/Sample/SampleNuGetApp/SampleNuGetApp.UWP/Assets/Wide310x150Logo.scale-100.png
--------------------------------------------------------------------------------
/Sample/SampleNuGetApp/SampleNuGetApp.UWP/Assets/Wide310x150Logo.scale-125.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/messier16/Forms.Controls/ad594b164dd35d592a81fba2825d4dcaca277215/Sample/SampleNuGetApp/SampleNuGetApp.UWP/Assets/Wide310x150Logo.scale-125.png
--------------------------------------------------------------------------------
/Sample/SampleNuGetApp/SampleNuGetApp.UWP/Assets/Wide310x150Logo.scale-150.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/messier16/Forms.Controls/ad594b164dd35d592a81fba2825d4dcaca277215/Sample/SampleNuGetApp/SampleNuGetApp.UWP/Assets/Wide310x150Logo.scale-150.png
--------------------------------------------------------------------------------
/Sample/SampleNuGetApp/SampleNuGetApp.UWP/Assets/Wide310x150Logo.scale-200.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/messier16/Forms.Controls/ad594b164dd35d592a81fba2825d4dcaca277215/Sample/SampleNuGetApp/SampleNuGetApp.UWP/Assets/Wide310x150Logo.scale-200.png
--------------------------------------------------------------------------------
/Sample/SampleNuGetApp/SampleNuGetApp.UWP/Assets/Wide310x150Logo.scale-400.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/messier16/Forms.Controls/ad594b164dd35d592a81fba2825d4dcaca277215/Sample/SampleNuGetApp/SampleNuGetApp.UWP/Assets/Wide310x150Logo.scale-400.png
--------------------------------------------------------------------------------
/Sample/SampleNuGetApp/SampleNuGetApp.UWP/MainPage.xaml:
--------------------------------------------------------------------------------
1 |
11 |
12 |
13 |
14 |
15 |
--------------------------------------------------------------------------------
/Sample/SampleNuGetApp/SampleNuGetApp.UWP/MainPage.xaml.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Collections.Generic;
3 | using System.IO;
4 | using System.Linq;
5 | using System.Runtime.InteropServices.WindowsRuntime;
6 | using Windows.Foundation;
7 | using Windows.Foundation.Collections;
8 | using Windows.UI.Xaml;
9 | using Windows.UI.Xaml.Controls;
10 | using Windows.UI.Xaml.Controls.Primitives;
11 | using Windows.UI.Xaml.Data;
12 | using Windows.UI.Xaml.Input;
13 | using Windows.UI.Xaml.Media;
14 | using Windows.UI.Xaml.Navigation;
15 |
16 | namespace SampleNuGetApp.UWP
17 | {
18 | public sealed partial class MainPage
19 | {
20 | public MainPage()
21 | {
22 | this.InitializeComponent();
23 |
24 | LoadApplication(new TestApp.App());
25 | }
26 | }
27 | }
28 |
--------------------------------------------------------------------------------
/Sample/SampleNuGetApp/SampleNuGetApp.UWP/Package.appxmanifest:
--------------------------------------------------------------------------------
1 |
2 |
3 |
8 |
9 |
13 |
14 |
15 |
16 |
17 | SampleNuGetApp.UWP
18 | Pierce Boggan
19 | Assets\StoreLogo.png
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
34 |
40 |
41 |
42 |
43 |
44 |
45 |
46 |
47 |
48 |
49 |
--------------------------------------------------------------------------------
/Sample/SampleNuGetApp/SampleNuGetApp.UWP/Properties/AssemblyInfo.cs:
--------------------------------------------------------------------------------
1 | using System.Reflection;
2 | using System.Runtime.CompilerServices;
3 | using System.Runtime.InteropServices;
4 |
5 | // General Information about an assembly is controlled through the following
6 | // set of attributes. Change these attribute values to modify the information
7 | // associated with an assembly.
8 | [assembly: AssemblyTitle("SampleNuGetApp.UWP")]
9 | [assembly: AssemblyDescription("")]
10 | [assembly: AssemblyConfiguration("")]
11 | [assembly: AssemblyCompany("")]
12 | [assembly: AssemblyProduct("SampleNuGetApp.UWP")]
13 | [assembly: AssemblyCopyright("Copyright © 2015")]
14 | [assembly: AssemblyTrademark("")]
15 | [assembly: AssemblyCulture("")]
16 |
17 | // Version information for an assembly consists of the following four values:
18 | //
19 | // Major Version
20 | // Minor Version
21 | // Build Number
22 | // Revision
23 | //
24 | // You can specify all the values or you can default the Build and Revision Numbers
25 | // by using the '*' as shown below:
26 | // [assembly: AssemblyVersion("1.0.*")]
27 | [assembly: AssemblyVersion("1.0.0.0")]
28 | [assembly: AssemblyFileVersion("1.0.0.0")]
29 | [assembly: ComVisible(false)]
--------------------------------------------------------------------------------
/Sample/SampleNuGetApp/SampleNuGetApp.UWP/Properties/Default.rd.xml:
--------------------------------------------------------------------------------
1 |
17 |
18 |
19 |
20 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
--------------------------------------------------------------------------------
/Sample/SampleNuGetApp/SampleNuGetApp.iOS/AppDelegate.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Collections.Generic;
3 | using System.Linq;
4 |
5 | using Foundation;
6 | using UIKit;
7 |
8 | namespace SampleNuGetApp.iOS
9 | {
10 | // The UIApplicationDelegate for the application. This class is responsible for launching the
11 | // User Interface of the application, as well as listening (and optionally responding) to
12 | // application events from iOS.
13 | [Register("AppDelegate")]
14 | public partial class AppDelegate : global::Xamarin.Forms.Platform.iOS.FormsApplicationDelegate
15 | {
16 | //
17 | // This method is invoked when the application has loaded and is ready to run. In this
18 | // method you should instantiate the window, load the UI into it and then make the window
19 | // visible.
20 | //
21 | // You have 17 seconds to return from this method, or iOS will terminate your application.
22 | //
23 | public override bool FinishedLaunching(UIApplication app, NSDictionary options)
24 | {
25 | global::Xamarin.Forms.Forms.Init();
26 | Messier16.Forms.iOS.Controls.Messier16Controls.InitAll();
27 | LoadApplication(new TestApp.App());
28 |
29 | return base.FinishedLaunching(app, options);
30 | }
31 | }
32 | }
33 |
--------------------------------------------------------------------------------
/Sample/SampleNuGetApp/SampleNuGetApp.iOS/Entitlements.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/Sample/SampleNuGetApp/SampleNuGetApp.iOS/Info.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | UIDeviceFamily
6 |
7 | 1
8 | 2
9 |
10 | UISupportedInterfaceOrientations
11 |
12 | UIInterfaceOrientationPortrait
13 | UIInterfaceOrientationLandscapeLeft
14 | UIInterfaceOrientationLandscapeRight
15 |
16 | UISupportedInterfaceOrientations~ipad
17 |
18 | UIInterfaceOrientationPortrait
19 | UIInterfaceOrientationPortraitUpsideDown
20 | UIInterfaceOrientationLandscapeLeft
21 | UIInterfaceOrientationLandscapeRight
22 |
23 | MinimumOSVersion
24 | 11.2
25 | CFBundleDisplayName
26 | SampleNuGetApp
27 | CFBundleIdentifier
28 | com.yourcompany.SampleNuGetApp
29 | CFBundleVersion
30 | 1.0
31 | CFBundleIconFiles
32 |
33 | Icon-60@2x
34 | Icon-60@3x
35 | Icon-76
36 | Icon-76@2x
37 | Default
38 | Default@2x
39 | Default-568h@2x
40 | Default-Portrait
41 | Default-Portrait@2x
42 | Icon-Small-40
43 | Icon-Small-40@2x
44 | Icon-Small-40@3x
45 | Icon-Small
46 | Icon-Small@2x
47 | Icon-Small@3x
48 |
49 | UILaunchStoryboardName
50 | LaunchScreen
51 | CFBundleName
52 | SampleNuGetApp
53 |
54 |
55 |
--------------------------------------------------------------------------------
/Sample/SampleNuGetApp/SampleNuGetApp.iOS/Main.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Collections.Generic;
3 | using System.Linq;
4 |
5 | using Foundation;
6 | using UIKit;
7 |
8 | namespace SampleNuGetApp.iOS
9 | {
10 | public class Application
11 | {
12 | // This is the main entry point of the application.
13 | static void Main(string[] args)
14 | {
15 | // if you want to use a different Application Delegate class from "AppDelegate"
16 | // you can specify it here.
17 | UIApplication.Main(args, null, "AppDelegate");
18 | }
19 | }
20 | }
21 |
--------------------------------------------------------------------------------
/Sample/SampleNuGetApp/SampleNuGetApp.iOS/Properties/AssemblyInfo.cs:
--------------------------------------------------------------------------------
1 | using System.Reflection;
2 | using System.Runtime.CompilerServices;
3 | using System.Runtime.InteropServices;
4 |
5 | // General Information about an assembly is controlled through the following
6 | // set of attributes. Change these attribute values to modify the information
7 | // associated with an assembly.
8 | [assembly: AssemblyTitle("SampleNuGetApp.iOS")]
9 | [assembly: AssemblyDescription("")]
10 | [assembly: AssemblyConfiguration("")]
11 | [assembly: AssemblyCompany("")]
12 | [assembly: AssemblyProduct("SampleNuGetApp.iOS")]
13 | [assembly: AssemblyCopyright("Copyright © 2014")]
14 | [assembly: AssemblyTrademark("")]
15 | [assembly: AssemblyCulture("")]
16 |
17 | // Setting ComVisible to false makes the types in this assembly not visible
18 | // to COM components. If you need to access a type in this assembly from
19 | // COM, set the ComVisible attribute to true on that type.
20 | [assembly: ComVisible(false)]
21 |
22 | // The following GUID is for the ID of the typelib if this project is exposed to COM
23 | [assembly: Guid("72bdc44f-c588-44f3-b6df-9aace7daafdd")]
24 |
25 | // Version information for an assembly consists of the following four values:
26 | //
27 | // Major Version
28 | // Minor Version
29 | // Build Number
30 | // Revision
31 | //
32 | // You can specify all the values or you can default the Build and Revision Numbers
33 | // by using the '*' as shown below:
34 | // [assembly: AssemblyVersion("1.0.*")]
35 | [assembly: AssemblyVersion("1.0.0.0")]
36 | [assembly: AssemblyFileVersion("1.0.0.0")]
37 |
--------------------------------------------------------------------------------
/Sample/SampleNuGetApp/SampleNuGetApp.iOS/Resources/Default-568h@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/messier16/Forms.Controls/ad594b164dd35d592a81fba2825d4dcaca277215/Sample/SampleNuGetApp/SampleNuGetApp.iOS/Resources/Default-568h@2x.png
--------------------------------------------------------------------------------
/Sample/SampleNuGetApp/SampleNuGetApp.iOS/Resources/Default-Portrait.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/messier16/Forms.Controls/ad594b164dd35d592a81fba2825d4dcaca277215/Sample/SampleNuGetApp/SampleNuGetApp.iOS/Resources/Default-Portrait.png
--------------------------------------------------------------------------------
/Sample/SampleNuGetApp/SampleNuGetApp.iOS/Resources/Default-Portrait@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/messier16/Forms.Controls/ad594b164dd35d592a81fba2825d4dcaca277215/Sample/SampleNuGetApp/SampleNuGetApp.iOS/Resources/Default-Portrait@2x.png
--------------------------------------------------------------------------------
/Sample/SampleNuGetApp/SampleNuGetApp.iOS/Resources/Default.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/messier16/Forms.Controls/ad594b164dd35d592a81fba2825d4dcaca277215/Sample/SampleNuGetApp/SampleNuGetApp.iOS/Resources/Default.png
--------------------------------------------------------------------------------
/Sample/SampleNuGetApp/SampleNuGetApp.iOS/Resources/Default@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/messier16/Forms.Controls/ad594b164dd35d592a81fba2825d4dcaca277215/Sample/SampleNuGetApp/SampleNuGetApp.iOS/Resources/Default@2x.png
--------------------------------------------------------------------------------
/Sample/SampleNuGetApp/SampleNuGetApp.iOS/Resources/Icon-60@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/messier16/Forms.Controls/ad594b164dd35d592a81fba2825d4dcaca277215/Sample/SampleNuGetApp/SampleNuGetApp.iOS/Resources/Icon-60@2x.png
--------------------------------------------------------------------------------
/Sample/SampleNuGetApp/SampleNuGetApp.iOS/Resources/Icon-60@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/messier16/Forms.Controls/ad594b164dd35d592a81fba2825d4dcaca277215/Sample/SampleNuGetApp/SampleNuGetApp.iOS/Resources/Icon-60@3x.png
--------------------------------------------------------------------------------
/Sample/SampleNuGetApp/SampleNuGetApp.iOS/Resources/Icon-76.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/messier16/Forms.Controls/ad594b164dd35d592a81fba2825d4dcaca277215/Sample/SampleNuGetApp/SampleNuGetApp.iOS/Resources/Icon-76.png
--------------------------------------------------------------------------------
/Sample/SampleNuGetApp/SampleNuGetApp.iOS/Resources/Icon-76@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/messier16/Forms.Controls/ad594b164dd35d592a81fba2825d4dcaca277215/Sample/SampleNuGetApp/SampleNuGetApp.iOS/Resources/Icon-76@2x.png
--------------------------------------------------------------------------------
/Sample/SampleNuGetApp/SampleNuGetApp.iOS/Resources/Icon-Small-40.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/messier16/Forms.Controls/ad594b164dd35d592a81fba2825d4dcaca277215/Sample/SampleNuGetApp/SampleNuGetApp.iOS/Resources/Icon-Small-40.png
--------------------------------------------------------------------------------
/Sample/SampleNuGetApp/SampleNuGetApp.iOS/Resources/Icon-Small-40@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/messier16/Forms.Controls/ad594b164dd35d592a81fba2825d4dcaca277215/Sample/SampleNuGetApp/SampleNuGetApp.iOS/Resources/Icon-Small-40@2x.png
--------------------------------------------------------------------------------
/Sample/SampleNuGetApp/SampleNuGetApp.iOS/Resources/Icon-Small-40@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/messier16/Forms.Controls/ad594b164dd35d592a81fba2825d4dcaca277215/Sample/SampleNuGetApp/SampleNuGetApp.iOS/Resources/Icon-Small-40@3x.png
--------------------------------------------------------------------------------
/Sample/SampleNuGetApp/SampleNuGetApp.iOS/Resources/Icon-Small.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/messier16/Forms.Controls/ad594b164dd35d592a81fba2825d4dcaca277215/Sample/SampleNuGetApp/SampleNuGetApp.iOS/Resources/Icon-Small.png
--------------------------------------------------------------------------------
/Sample/SampleNuGetApp/SampleNuGetApp.iOS/Resources/Icon-Small@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/messier16/Forms.Controls/ad594b164dd35d592a81fba2825d4dcaca277215/Sample/SampleNuGetApp/SampleNuGetApp.iOS/Resources/Icon-Small@2x.png
--------------------------------------------------------------------------------
/Sample/SampleNuGetApp/SampleNuGetApp.iOS/Resources/Icon-Small@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/messier16/Forms.Controls/ad594b164dd35d592a81fba2825d4dcaca277215/Sample/SampleNuGetApp/SampleNuGetApp.iOS/Resources/Icon-Small@3x.png
--------------------------------------------------------------------------------
/Sample/SampleNuGetApp/SampleNuGetApp.iOS/Resources/beer.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/messier16/Forms.Controls/ad594b164dd35d592a81fba2825d4dcaca277215/Sample/SampleNuGetApp/SampleNuGetApp.iOS/Resources/beer.png
--------------------------------------------------------------------------------
/Sample/SampleNuGetApp/SampleNuGetApp.iOS/Resources/beer@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/messier16/Forms.Controls/ad594b164dd35d592a81fba2825d4dcaca277215/Sample/SampleNuGetApp/SampleNuGetApp.iOS/Resources/beer@2x.png
--------------------------------------------------------------------------------
/Sample/SampleNuGetApp/SampleNuGetApp.iOS/Resources/beer@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/messier16/Forms.Controls/ad594b164dd35d592a81fba2825d4dcaca277215/Sample/SampleNuGetApp/SampleNuGetApp.iOS/Resources/beer@3x.png
--------------------------------------------------------------------------------
/Sample/SampleNuGetApp/SampleNuGetApp.iOS/Resources/beer_filled.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/messier16/Forms.Controls/ad594b164dd35d592a81fba2825d4dcaca277215/Sample/SampleNuGetApp/SampleNuGetApp.iOS/Resources/beer_filled.png
--------------------------------------------------------------------------------
/Sample/SampleNuGetApp/SampleNuGetApp.iOS/Resources/beer_filled@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/messier16/Forms.Controls/ad594b164dd35d592a81fba2825d4dcaca277215/Sample/SampleNuGetApp/SampleNuGetApp.iOS/Resources/beer_filled@2x.png
--------------------------------------------------------------------------------
/Sample/SampleNuGetApp/SampleNuGetApp.iOS/Resources/beer_filled@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/messier16/Forms.Controls/ad594b164dd35d592a81fba2825d4dcaca277215/Sample/SampleNuGetApp/SampleNuGetApp.iOS/Resources/beer_filled@3x.png
--------------------------------------------------------------------------------
/Sample/SampleNuGetApp/SampleNuGetApp.iOS/Resources/code.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/messier16/Forms.Controls/ad594b164dd35d592a81fba2825d4dcaca277215/Sample/SampleNuGetApp/SampleNuGetApp.iOS/Resources/code.png
--------------------------------------------------------------------------------
/Sample/SampleNuGetApp/SampleNuGetApp.iOS/Resources/code@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/messier16/Forms.Controls/ad594b164dd35d592a81fba2825d4dcaca277215/Sample/SampleNuGetApp/SampleNuGetApp.iOS/Resources/code@2x.png
--------------------------------------------------------------------------------
/Sample/SampleNuGetApp/SampleNuGetApp.iOS/Resources/code@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/messier16/Forms.Controls/ad594b164dd35d592a81fba2825d4dcaca277215/Sample/SampleNuGetApp/SampleNuGetApp.iOS/Resources/code@3x.png
--------------------------------------------------------------------------------
/Sample/SampleNuGetApp/SampleNuGetApp.iOS/Resources/config@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/messier16/Forms.Controls/ad594b164dd35d592a81fba2825d4dcaca277215/Sample/SampleNuGetApp/SampleNuGetApp.iOS/Resources/config@2x.png
--------------------------------------------------------------------------------
/Sample/SampleNuGetApp/SampleNuGetApp.iOS/Resources/config@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/messier16/Forms.Controls/ad594b164dd35d592a81fba2825d4dcaca277215/Sample/SampleNuGetApp/SampleNuGetApp.iOS/Resources/config@3x.png
--------------------------------------------------------------------------------
/Sample/SampleNuGetApp/SampleNuGetApp.iOS/Resources/config_active@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/messier16/Forms.Controls/ad594b164dd35d592a81fba2825d4dcaca277215/Sample/SampleNuGetApp/SampleNuGetApp.iOS/Resources/config_active@2x.png
--------------------------------------------------------------------------------
/Sample/SampleNuGetApp/SampleNuGetApp.iOS/Resources/config_active@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/messier16/Forms.Controls/ad594b164dd35d592a81fba2825d4dcaca277215/Sample/SampleNuGetApp/SampleNuGetApp.iOS/Resources/config_active@3x.png
--------------------------------------------------------------------------------
/Sample/SampleNuGetApp/SampleNuGetApp.iOS/Resources/hashtag@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/messier16/Forms.Controls/ad594b164dd35d592a81fba2825d4dcaca277215/Sample/SampleNuGetApp/SampleNuGetApp.iOS/Resources/hashtag@2x.png
--------------------------------------------------------------------------------
/Sample/SampleNuGetApp/SampleNuGetApp.iOS/Resources/hashtag@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/messier16/Forms.Controls/ad594b164dd35d592a81fba2825d4dcaca277215/Sample/SampleNuGetApp/SampleNuGetApp.iOS/Resources/hashtag@3x.png
--------------------------------------------------------------------------------
/Sample/SampleNuGetApp/SampleNuGetApp.iOS/Resources/hashtag_active@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/messier16/Forms.Controls/ad594b164dd35d592a81fba2825d4dcaca277215/Sample/SampleNuGetApp/SampleNuGetApp.iOS/Resources/hashtag_active@2x.png
--------------------------------------------------------------------------------
/Sample/SampleNuGetApp/SampleNuGetApp.iOS/Resources/hashtag_active@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/messier16/Forms.Controls/ad594b164dd35d592a81fba2825d4dcaca277215/Sample/SampleNuGetApp/SampleNuGetApp.iOS/Resources/hashtag_active@3x.png
--------------------------------------------------------------------------------
/Sample/SampleNuGetApp/SampleNuGetApp.iOS/Resources/home@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/messier16/Forms.Controls/ad594b164dd35d592a81fba2825d4dcaca277215/Sample/SampleNuGetApp/SampleNuGetApp.iOS/Resources/home@2x.png
--------------------------------------------------------------------------------
/Sample/SampleNuGetApp/SampleNuGetApp.iOS/Resources/home@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/messier16/Forms.Controls/ad594b164dd35d592a81fba2825d4dcaca277215/Sample/SampleNuGetApp/SampleNuGetApp.iOS/Resources/home@3x.png
--------------------------------------------------------------------------------
/Sample/SampleNuGetApp/SampleNuGetApp.iOS/Resources/home_active@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/messier16/Forms.Controls/ad594b164dd35d592a81fba2825d4dcaca277215/Sample/SampleNuGetApp/SampleNuGetApp.iOS/Resources/home_active@2x.png
--------------------------------------------------------------------------------
/Sample/SampleNuGetApp/SampleNuGetApp.iOS/Resources/home_active@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/messier16/Forms.Controls/ad594b164dd35d592a81fba2825d4dcaca277215/Sample/SampleNuGetApp/SampleNuGetApp.iOS/Resources/home_active@3x.png
--------------------------------------------------------------------------------
/Sample/SampleNuGetApp/SampleNuGetApp.iOS/Resources/message@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/messier16/Forms.Controls/ad594b164dd35d592a81fba2825d4dcaca277215/Sample/SampleNuGetApp/SampleNuGetApp.iOS/Resources/message@2x.png
--------------------------------------------------------------------------------
/Sample/SampleNuGetApp/SampleNuGetApp.iOS/Resources/message@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/messier16/Forms.Controls/ad594b164dd35d592a81fba2825d4dcaca277215/Sample/SampleNuGetApp/SampleNuGetApp.iOS/Resources/message@3x.png
--------------------------------------------------------------------------------
/Sample/SampleNuGetApp/SampleNuGetApp.iOS/Resources/message_active@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/messier16/Forms.Controls/ad594b164dd35d592a81fba2825d4dcaca277215/Sample/SampleNuGetApp/SampleNuGetApp.iOS/Resources/message_active@2x.png
--------------------------------------------------------------------------------
/Sample/SampleNuGetApp/SampleNuGetApp.iOS/Resources/message_active@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/messier16/Forms.Controls/ad594b164dd35d592a81fba2825d4dcaca277215/Sample/SampleNuGetApp/SampleNuGetApp.iOS/Resources/message_active@3x.png
--------------------------------------------------------------------------------
/Sample/SampleNuGetApp/SampleNuGetApp.iOS/Resources/star.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/messier16/Forms.Controls/ad594b164dd35d592a81fba2825d4dcaca277215/Sample/SampleNuGetApp/SampleNuGetApp.iOS/Resources/star.png
--------------------------------------------------------------------------------
/Sample/SampleNuGetApp/SampleNuGetApp.iOS/Resources/star@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/messier16/Forms.Controls/ad594b164dd35d592a81fba2825d4dcaca277215/Sample/SampleNuGetApp/SampleNuGetApp.iOS/Resources/star@2x.png
--------------------------------------------------------------------------------
/Sample/SampleNuGetApp/SampleNuGetApp.iOS/Resources/star@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/messier16/Forms.Controls/ad594b164dd35d592a81fba2825d4dcaca277215/Sample/SampleNuGetApp/SampleNuGetApp.iOS/Resources/star@3x.png
--------------------------------------------------------------------------------
/Sample/SampleNuGetApp/SampleNuGetApp.iOS/Resources/star_filled.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/messier16/Forms.Controls/ad594b164dd35d592a81fba2825d4dcaca277215/Sample/SampleNuGetApp/SampleNuGetApp.iOS/Resources/star_filled.png
--------------------------------------------------------------------------------
/Sample/SampleNuGetApp/SampleNuGetApp.iOS/Resources/star_filled@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/messier16/Forms.Controls/ad594b164dd35d592a81fba2825d4dcaca277215/Sample/SampleNuGetApp/SampleNuGetApp.iOS/Resources/star_filled@2x.png
--------------------------------------------------------------------------------
/Sample/SampleNuGetApp/SampleNuGetApp.iOS/Resources/star_filled@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/messier16/Forms.Controls/ad594b164dd35d592a81fba2825d4dcaca277215/Sample/SampleNuGetApp/SampleNuGetApp.iOS/Resources/star_filled@3x.png
--------------------------------------------------------------------------------
/Sample/SampleNuGetApp/SampleNuGetApp.iOS/Resources/xaml.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/messier16/Forms.Controls/ad594b164dd35d592a81fba2825d4dcaca277215/Sample/SampleNuGetApp/SampleNuGetApp.iOS/Resources/xaml.png
--------------------------------------------------------------------------------
/Sample/SampleNuGetApp/SampleNuGetApp.iOS/Resources/xaml@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/messier16/Forms.Controls/ad594b164dd35d592a81fba2825d4dcaca277215/Sample/SampleNuGetApp/SampleNuGetApp.iOS/Resources/xaml@2x.png
--------------------------------------------------------------------------------
/Sample/SampleNuGetApp/SampleNuGetApp.iOS/Resources/xaml@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/messier16/Forms.Controls/ad594b164dd35d592a81fba2825d4dcaca277215/Sample/SampleNuGetApp/SampleNuGetApp.iOS/Resources/xaml@3x.png
--------------------------------------------------------------------------------
/Sample/SampleNuGetApp/SampleNuGetApp.iOS/iTunesArtwork:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/messier16/Forms.Controls/ad594b164dd35d592a81fba2825d4dcaca277215/Sample/SampleNuGetApp/SampleNuGetApp.iOS/iTunesArtwork
--------------------------------------------------------------------------------
/Sample/SampleNuGetApp/SampleNuGetApp.iOS/iTunesArtwork@2x:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/messier16/Forms.Controls/ad594b164dd35d592a81fba2825d4dcaca277215/Sample/SampleNuGetApp/SampleNuGetApp.iOS/iTunesArtwork@2x
--------------------------------------------------------------------------------
/Sample/SampleNuGetApp/SampleNuGetApp.iOS/packages.config:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
--------------------------------------------------------------------------------
/Sample/SampleNuGetApp/SampleNuGetApp/Controls/ControlCell.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using Xamarin.Forms;
3 |
4 | namespace TestApp
5 | {
6 | public class ControlCell : ViewCell where T : View, new()
7 | {
8 | public T Control
9 | {
10 | get;
11 | private set;
12 | }
13 |
14 | public ControlCell()
15 | {
16 | var grid = new Grid()
17 | {
18 | ColumnDefinitions =
19 | {
20 | new ColumnDefinition { Width = new GridLength(1, GridUnitType.Star) },
21 | new ColumnDefinition { Width = new GridLength(1, GridUnitType.Auto) },
22 | new ColumnDefinition { Width = new GridLength(1, GridUnitType.Star) },
23 | }
24 | };
25 |
26 | var control = new T();
27 | Grid.SetColumn(control, 1);
28 | grid.Children.Add(control);
29 |
30 | control.SetBinding(View.IsVisibleProperty, "IsVisible");
31 |
32 | View = grid;
33 | }
34 | }
35 | }
36 |
--------------------------------------------------------------------------------
/Sample/SampleNuGetApp/SampleNuGetApp/Controls/ControlWrapper.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.ComponentModel;
3 |
4 | namespace TestApp
5 | {
6 | public class ControlWrapper : INotifyPropertyChanged
7 | {
8 | private bool isVisible;
9 | public bool IsVisible
10 | {
11 | get { return isVisible;}
12 | set { isVisible = value;
13 | PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(nameof(IsVisible)));
14 | }
15 | }
16 |
17 | public event PropertyChangedEventHandler PropertyChanged;
18 | }
19 | }
20 |
--------------------------------------------------------------------------------
/Sample/SampleNuGetApp/SampleNuGetApp/Controls/DoubleControlCell.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using Xamarin.Forms;
3 |
4 | namespace TestApp
5 | {
6 | public class ControlCell : ViewCell where T1 : View, new() where T2 : View, new()
7 | {
8 | public T1 Control1
9 | {
10 | get;
11 | private set;
12 | }
13 |
14 | public T2 Control2
15 | {
16 | get;
17 | private set;
18 | }
19 |
20 | public ControlCell()
21 | {
22 | var grid = new Grid()
23 | {
24 | ColumnDefinitions =
25 | {
26 | new ColumnDefinition { Width = new GridLength(1, GridUnitType.Star) },
27 | new ColumnDefinition { Width = new GridLength(1, GridUnitType.Auto) },
28 | new ColumnDefinition { Width = new GridLength(1, GridUnitType.Star) },
29 | new ColumnDefinition { Width = new GridLength(1, GridUnitType.Star) },
30 | }
31 | };
32 |
33 | var control1 = new T1();
34 | Grid.SetColumn(control1, 1);
35 | grid.Children.Add(control1);
36 |
37 | var control2 = new T2();
38 | Grid.SetColumn(control2, 2);
39 | grid.Children.Add(control2);
40 |
41 | control1.SetBinding(View.IsVisibleProperty, "IsVisible");
42 | control2.SetBinding(View.IsVisibleProperty, "IsVisible");
43 |
44 | View = grid;
45 | }
46 | }
47 | }
48 |
--------------------------------------------------------------------------------
/Sample/SampleNuGetApp/SampleNuGetApp/Converters/BoolToCheckedTextConverter.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using Xamarin.Forms;
3 |
4 | namespace TestApp.Converters
5 | {
6 | public class BoolToCheckedTextConverter : IValueConverter
7 | {
8 |
9 | #region IValueConverter implementation
10 |
11 | public object Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
12 | {
13 | if ((bool)value)
14 | return "Checked";
15 | return "Unchecked";
16 | }
17 |
18 | public object ConvertBack(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
19 | {
20 | throw new NotImplementedException();
21 | }
22 |
23 | #endregion
24 | }
25 | }
26 |
27 |
--------------------------------------------------------------------------------
/Sample/SampleNuGetApp/SampleNuGetApp/Converters/NegateBooleanConverter.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using Xamarin.Forms;
3 |
4 | namespace TestApp.Converters
5 | {
6 | public class NegateBooleanConverter : IValueConverter
7 | {
8 | #region IValueConverter implementation
9 |
10 | public object Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
11 | {
12 | return !((bool)value);
13 | }
14 |
15 | public object ConvertBack(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
16 | {
17 | return !((bool)value);
18 | }
19 |
20 | #endregion
21 | }
22 | }
23 |
24 |
--------------------------------------------------------------------------------
/Sample/SampleNuGetApp/SampleNuGetApp/Pages/CheckboxPage.cs:
--------------------------------------------------------------------------------
1 | using System;
2 |
3 | using Xamarin.Forms;
4 | using TestApp.Pages.CheckboxPages;
5 |
6 | namespace TestApp.Pages
7 | {
8 | public class CheckboxPage : TabbedPage
9 | {
10 | public CheckboxPage()
11 | {
12 | Title = "Checkbox";
13 | AutomationId = "page";
14 |
15 | Children.Add(new CheckboxCodePage { Title = "Code", Icon = "code.png"});
16 | Children.Add(new CheckboxXamlPage { Title = "Markup", Icon = "xaml.png" });
17 | Children.Add(new CheckboxListCodePage { Title = "List", Icon = "xaml.png" });
18 | }
19 | }
20 | }
21 |
22 |
23 |
--------------------------------------------------------------------------------
/Sample/SampleNuGetApp/SampleNuGetApp/Pages/CheckboxPages/CheckboxListCodePage.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Collections.Generic;
3 | using System.Collections.ObjectModel;
4 | using System.Linq;
5 | using Messier16.Forms.Controls;
6 | using TestApp.ViewModels;
7 | using Xamarin.Forms;
8 |
9 | namespace TestApp
10 | {
11 | public class CheckboxListCodePage : ContentPage
12 | {
13 | ObservableCollection controls;
14 | Random r = new Random();
15 |
16 | public List GetControls(int n)
17 | {
18 | return System.Linq.Enumerable.Range(0, n)
19 | .Select(i => new ControlWrapper() { IsVisible = i % 2 == 0 })
20 | .ToList();
21 | }
22 |
23 | public CheckboxListCodePage()
24 | {
25 |
26 | ToolbarItem reload = new ToolbarItem() { Text = "Reload" };
27 | reload.Clicked += (sender, e) =>
28 | {
29 | controls.Clear();
30 | var c = GetControls(30);
31 | foreach (var item in c)
32 | {
33 | controls.Add(item);
34 | }
35 | };
36 |
37 | ToolbarItems.Add(reload);
38 |
39 | BindingContext = new CheckboxViewModel();
40 | var list = new ListView();
41 |
42 | //list.SetBinding(ListView.ItemsSourceProperty, "Checkboxes");
43 | var template = new DataTemplate(typeof(ControlCell));
44 | list.ItemTemplate = template;
45 |
46 | controls = new ObservableCollection(GetControls(30));
47 | list.ItemsSource = controls;
48 | list.ItemSelected += (sender, e) =>
49 | {
50 |
51 | if (list.SelectedItem != null)
52 | {
53 | var c = list.SelectedItem as ControlWrapper;
54 | c.IsVisible = !c.IsVisible;
55 | list.SelectedItem = null;
56 | }
57 | };
58 |
59 | Content = list;
60 | }
61 | }
62 | }
63 |
--------------------------------------------------------------------------------
/Sample/SampleNuGetApp/SampleNuGetApp/Pages/CheckboxPages/CheckboxXamlPage.xaml:
--------------------------------------------------------------------------------
1 |
2 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
36 |
37 |
38 |
39 |
40 |
41 |
42 |
43 |
44 |
--------------------------------------------------------------------------------
/Sample/SampleNuGetApp/SampleNuGetApp/Pages/CheckboxPages/CheckboxXamlPage.xaml.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Collections.Generic;
3 |
4 | using Xamarin.Forms;
5 | using TestApp.ViewModels;
6 |
7 | namespace TestApp.Pages.CheckboxPages
8 | {
9 | public partial class CheckboxXamlPage : ContentPage
10 | {
11 | public CheckboxXamlPage()
12 | {
13 | BindingContext = new CheckboxViewModel();
14 | InitializeComponent();
15 | }
16 | }
17 | }
18 |
19 |
--------------------------------------------------------------------------------
/Sample/SampleNuGetApp/SampleNuGetApp/Pages/HomePage.cs:
--------------------------------------------------------------------------------
1 | using System;
2 |
3 | using Xamarin.Forms;
4 |
5 | namespace TestApp.Pages
6 | {
7 | public class HomePage : ContentPage
8 | {
9 |
10 | private Button GoToRatingBarButton;
11 | private Button GoToCheckboxButton;
12 | private Button GoToSegmentedControl;
13 |
14 | public HomePage()
15 | {
16 | Title = "Messier16 Controls";
17 |
18 | GoToRatingBarButton = new Button();
19 | GoToRatingBarButton.AutomationId = nameof(GoToRatingBarButton);
20 | GoToRatingBarButton.Text = "RatingBar";
21 | GoToRatingBarButton.Clicked += GoToButton_Clicked;
22 |
23 |
24 | GoToCheckboxButton = new Button();
25 | GoToCheckboxButton.AutomationId = nameof(GoToCheckboxButton);
26 | GoToCheckboxButton.Text = "Checkbox";
27 | GoToCheckboxButton.Clicked += GoToButton_Clicked;
28 |
29 | GoToSegmentedControl = new Button();
30 | GoToSegmentedControl.AutomationId = nameof(GoToSegmentedControl);
31 | GoToSegmentedControl.Text = "SegmentedControl";
32 | GoToSegmentedControl.Clicked += GoToButton_Clicked;
33 |
34 | Content = new StackLayout
35 | {
36 | Children =
37 | {
38 | GoToRatingBarButton,
39 | GoToCheckboxButton,
40 | GoToSegmentedControl
41 | }
42 | };
43 | }
44 |
45 | async void GoToButton_Clicked(object sender, EventArgs e)
46 | {
47 | var b = sender as Button;
48 | if (b == GoToRatingBarButton)
49 | await App.Navigation.PushAsync(new RatingBarPage());
50 | if (b == GoToCheckboxButton)
51 | await App.Navigation.PushAsync(new CheckboxPage());
52 | if (b == GoToSegmentedControl)
53 | await App.Navigation.PushAsync(new SegmentedControlPage());
54 | }
55 | }
56 | }
57 |
58 |
59 |
--------------------------------------------------------------------------------
/Sample/SampleNuGetApp/SampleNuGetApp/Pages/RatingBarPage.cs:
--------------------------------------------------------------------------------
1 | using System;
2 |
3 | using Xamarin.Forms;
4 | using TestApp.Pages.RatingBarPages;
5 |
6 | namespace TestApp.Pages
7 | {
8 | public class RatingBarPage : TabbedPage
9 | {
10 | public RatingBarPage()
11 | {
12 | Title = "RatingBar";
13 | AutomationId = "page";
14 |
15 | Children.Add(new RatingBarCodePage { Title = "Code" , Icon="code.png" });
16 | Children.Add(new RatingBarXamlPage { Title = "Markup", Icon = "xaml.png" });
17 | }
18 | }
19 | }
20 |
21 |
22 |
--------------------------------------------------------------------------------
/Sample/SampleNuGetApp/SampleNuGetApp/Pages/RatingBarPages/RatingBarXamlPage.xaml:
--------------------------------------------------------------------------------
1 |
2 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
--------------------------------------------------------------------------------
/Sample/SampleNuGetApp/SampleNuGetApp/Pages/RatingBarPages/RatingBarXamlPage.xaml.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Collections.Generic;
3 | using System.Linq;
4 | using System.Text;
5 | using System.Threading.Tasks;
6 | using TestApp.ViewModels;
7 | using Xamarin.Forms;
8 |
9 | namespace TestApp.Pages.RatingBarPages
10 | {
11 | public partial class RatingBarXamlPage : ContentPage
12 | {
13 | public RatingBarXamlPage()
14 | {
15 | BindingContext = new RatingBarViewModel();
16 | InitializeComponent();
17 | }
18 | }
19 | }
20 |
--------------------------------------------------------------------------------
/Sample/SampleNuGetApp/SampleNuGetApp/Pages/SegmentedControlPage.cs:
--------------------------------------------------------------------------------
1 | using System;
2 |
3 | using Xamarin.Forms;
4 | using TestApp.Pages.RatingBarPages;
5 | using TestApp.Pages.SegmentedControlPages;
6 |
7 | namespace TestApp.Pages
8 | {
9 | public class SegmentedControlPage : TabbedPage
10 | {
11 | public SegmentedControlPage()
12 | {
13 | Title = "SegmentedControl";
14 | AutomationId = "page";
15 |
16 | Children.Add(new SegmentedControlCodePage { Title = "Code", Icon="code.png" });
17 | Children.Add(new SegmentedControlXamlPage { Title = "Markup", Icon = "xaml.png" });
18 | }
19 | }
20 | }
21 |
22 |
23 |
--------------------------------------------------------------------------------
/Sample/SampleNuGetApp/SampleNuGetApp/Pages/SegmentedControlPages/SegmentedControlXamlPage.xaml:
--------------------------------------------------------------------------------
1 |
2 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
34 |
35 |
36 |
37 |
38 |
39 |
40 |
45 |
46 |
50 |
51 |
56 |
57 |
58 |
59 |
--------------------------------------------------------------------------------
/Sample/SampleNuGetApp/SampleNuGetApp/Pages/SegmentedControlPages/SegmentedControlXamlPage.xaml.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Collections.Generic;
3 | using System.Linq;
4 | using System.Text;
5 | using System.Threading.Tasks;
6 | using TestApp.ViewModels;
7 | using Xamarin.Forms;
8 | using Messier16.Forms.Controls;
9 |
10 | namespace TestApp.Pages.SegmentedControlPages
11 | {
12 | public partial class SegmentedControlXamlPage : ContentPage
13 | {
14 |
15 |
16 | string [] values = { "Artists", "Albums", "Songs", "Local" };
17 |
18 | public SegmentedControlXamlPage()
19 | {
20 | BindingContext = new SegmentedControlViewModel();
21 | InitializeComponent();
22 |
23 | foreach (var item in values)
24 | {
25 | DisabledSegmentedControl.Children.Add(new SegmentedControlOption { Text = item });
26 | }
27 |
28 | foreach (var item in values)
29 | {
30 | picker.Items.Add(item);
31 | }
32 | picker.SelectedIndex = 0;
33 | }
34 | }
35 | }
36 |
--------------------------------------------------------------------------------
/Sample/SampleNuGetApp/SampleNuGetApp/SampleNuGetApp.csproj:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | netstandard2.0
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 | *.xaml
16 |
17 |
18 | *.xaml
19 |
20 |
21 |
--------------------------------------------------------------------------------
/Sample/SampleNuGetApp/SampleNuGetApp/TestApp.cs:
--------------------------------------------------------------------------------
1 | using System;
2 |
3 | using Xamarin.Forms;
4 | using Messier16.Forms.Controls;
5 | using TestApp.Pages;
6 |
7 | namespace TestApp
8 | {
9 | public class App : Application
10 | {
11 | public static Color AppTint = Color.FromHex("3c8a3f");
12 |
13 | public App()
14 | {
15 | MainPage = new NavigationPage(new HomePage());
16 | Navigation = (MainPage as NavigationPage).Navigation;
17 | }
18 |
19 | public static INavigation Navigation { get; private set;}
20 |
21 | protected override void OnStart()
22 | {
23 | // Handle when your app starts
24 | }
25 |
26 | protected override void OnSleep()
27 | {
28 | // Handle when your app sleeps
29 | }
30 |
31 | protected override void OnResume()
32 | {
33 | // Handle when your app resumes
34 | }
35 | }
36 | }
37 |
38 |
--------------------------------------------------------------------------------
/Sample/SampleNuGetApp/SampleNuGetApp/ViewModels/CheckboxViewModel.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using Xamarin.Forms;
3 |
4 | namespace TestApp.ViewModels
5 | {
6 | public class CheckboxViewModel : ViewModelBase
7 | {
8 |
9 | public CheckboxViewModel()
10 | {
11 | Check2 = false;
12 | }
13 |
14 | private bool _check1;
15 |
16 | public bool Check1
17 | {
18 | get { return _check1; }
19 | set { _check1 = value; OnPropertyChanged(); }
20 | }
21 |
22 | private bool _check2;
23 |
24 | public bool Check2
25 | {
26 | get { return _check2; }
27 | set { _check2 = value; OnPropertyChanged(); }
28 | }
29 |
30 | private bool _otherCheck;
31 |
32 | public bool OtherCheck
33 | {
34 | get { return _otherCheck; }
35 | set { _otherCheck = value; OnPropertyChanged(); }
36 | }
37 |
38 | private bool _toggleCheck;
39 |
40 | public bool ToggleCheck
41 | {
42 | get { return _toggleCheck; }
43 | set { _toggleCheck = value; OnPropertyChanged(); }
44 | }
45 |
46 | private Command _toggleCheckCommand;
47 |
48 | public Command ToggleCheckCommand
49 | {
50 | get
51 | {
52 | return _toggleCheckCommand ??
53 | (_toggleCheckCommand = new Command(
54 | () =>
55 | {
56 | ToggleCheck = !ToggleCheck;
57 | }
58 | ));
59 | }
60 | }
61 | }
62 | }
63 |
64 |
--------------------------------------------------------------------------------
/Sample/SampleNuGetApp/SampleNuGetApp/ViewModels/RatingBarViewModel.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Collections.Generic;
3 | using System.Linq;
4 | using System.Text;
5 | using System.Threading.Tasks;
6 |
7 | namespace TestApp.ViewModels
8 | {
9 | public class RatingBarViewModel : ViewModelBase
10 | {
11 |
12 | private int _beerRating;
13 | public int BeerRating
14 | {
15 | get { return _beerRating; }
16 | set { _beerRating = value; OnPropertyChanged(); }
17 | }
18 |
19 | private int _rating;
20 | public int Rating
21 | {
22 | get { return _rating; }
23 | set { _rating = value; OnPropertyChanged(); }
24 | }
25 | }
26 | }
27 |
--------------------------------------------------------------------------------
/Sample/SampleNuGetApp/SampleNuGetApp/ViewModels/SegmentedControlViewModel.cs:
--------------------------------------------------------------------------------
1 | namespace TestApp.ViewModels
2 | {
3 | public class SegmentedControlViewModel : ViewModelBase
4 | {
5 | public SegmentedControlViewModel()
6 | {
7 | SelectedIx = 0;
8 | }
9 | private int _selectedIx;
10 | public int SelectedIx
11 | {
12 | get { return _selectedIx; }
13 | set { _selectedIx = value; OnPropertyChanged(); }
14 | }
15 |
16 | private string _sportText;
17 | public string SportText
18 | {
19 | get { return _sportText; }
20 | set { _sportText = value; OnPropertyChanged(); }
21 | }
22 | }
23 | }
24 |
--------------------------------------------------------------------------------
/Sample/SampleNuGetApp/SampleNuGetApp/ViewModels/ViewModelBase.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Collections.Generic;
3 | using System.ComponentModel;
4 | using System.Linq;
5 | using System.Runtime.CompilerServices;
6 | using System.Text;
7 | using System.Threading.Tasks;
8 |
9 | namespace TestApp.ViewModels
10 | {
11 | public class ViewModelBase : INotifyPropertyChanged
12 | {
13 | public event PropertyChangedEventHandler PropertyChanged;
14 |
15 | protected virtual void OnPropertyChanged([CallerMemberName] string propertyName = null)
16 | {
17 | PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(propertyName));
18 | }
19 | }
20 | }
21 |
--------------------------------------------------------------------------------
/appveyor.yml:
--------------------------------------------------------------------------------
1 | version: '{build}'
2 | configuration: Release
3 | before_build:
4 | - nuget restore
5 | artifacts:
6 | - path: Messier16.Forms.Controls.2.2.0.nupkg
7 | name: nuget_pack
8 | after_build:
9 | - nuget pack "Messier16.Forms.Controls.nuspec"
10 | image: Visual Studio 2017
11 | assembly_info:
12 | patch: true
13 | file: '**\AssemblyInfo.*'
14 | assembly_version: '2.2.0'
15 | assembly_file_version: '2.2.0'
16 | assembly_informational_version: '2.2.0'
17 | build:
18 | project: Messier16.Forms.Controls.sln
19 | publish_nuget: true
20 | publish_nuget_symbols: false
21 | include_nuget_references: true
22 | verbosity: detailed
23 | deploy:
24 | provider: NuGet
25 | api_key:
26 | secure: XImXaAhmv7juP3N1QLgjU+V2u1+QjEXJnj3mv3U1uCjSzOa8c+LTl2KP3s/ClxhJ
27 | artifact: /.*\.nupkg/
28 | branches:
29 | only:
30 | - master
31 | - net-standard
--------------------------------------------------------------------------------