├── .editorconfig
├── .gitattributes
├── .gitignore
├── FUNDING.yml
├── LICENSE
├── MvxForms.Core
├── App.xaml
├── App.xaml.cs
├── CoreApp.cs
├── MvxForms.Core.csproj
├── Pages
│ ├── MvxFormsPage.xaml
│ └── MvxFormsPage.xaml.cs
└── ViewModels
│ └── MvxFormsViewModel.cs
├── MvxForms.Droid
├── Assets
│ └── AboutAssets.txt
├── LinkerPleaseInclude.cs
├── MainActivity.cs
├── MvxForms.Droid.csproj
├── Properties
│ ├── AndroidManifest.xml
│ └── AssemblyInfo.cs
├── Resources
│ ├── AboutResources.txt
│ ├── Resource.designer.cs
│ ├── drawable-hdpi
│ │ └── icon.png
│ ├── drawable-xhdpi
│ │ └── icon.png
│ ├── drawable-xxhdpi
│ │ └── icon.png
│ ├── drawable
│ │ ├── icon.png
│ │ └── splash.png
│ ├── layout
│ │ ├── MainView.axml
│ │ ├── SplashScreen.axml
│ │ ├── Tabbar.axml
│ │ └── Toolbar.axml
│ └── values
│ │ ├── SplashStyle.xml
│ │ └── styles.xml
├── Setup.cs
└── SplashScreen.cs
├── MvxForms.iOS
├── AppDelegate.cs
├── Assets.xcassets
│ ├── AppIcon.appiconset
│ │ └── Contents.json
│ └── Contents.json
├── Entitlements.plist
├── Info.plist
├── LaunchScreen.storyboard
├── LinkerPleaseInclude.cs
├── Main.cs
├── MvxForms.iOS.csproj
└── Setup.cs
├── MvxForms.sln
└── README.md
/.editorconfig:
--------------------------------------------------------------------------------
1 | # EditorConfig is awesome:http://EditorConfig.org
2 |
3 | # top-most EditorConfig file
4 | root = true
5 |
6 | # Don't use tabs for indentation.
7 | [*]
8 | indent_style = space
9 | # (Please don't specify an indent_size here; that has too many unintended consequences.)
10 |
11 | # Code files
12 | [*.{cs,csx,vb,vbx}]
13 | indent_size = 4
14 | insert_final_newline = true
15 | charset = utf-8-bom
16 |
17 | # Xml project files
18 | [*.{csproj,vbproj,vcxproj,vcxproj.filters,proj,projitems,shproj}]
19 | indent_size = 2
20 |
21 | # Xml config files
22 | [*.{props,targets,ruleset,config,nuspec,resx,vsixmanifest,vsct}]
23 | indent_size = 2
24 |
25 | # JSON files
26 | [*.json]
27 | indent_size = 2
28 |
29 | # Dotnet code style settings:
30 | [*.{cs,vb}]
31 | # Sort using and Import directives with System.* appearing first
32 | dotnet_sort_system_directives_first = true
33 | # Avoid "this." and "Me." if not necessary
34 | dotnet_style_qualification_for_field = false:suggestion
35 | dotnet_style_qualification_for_property = false:suggestion
36 | dotnet_style_qualification_for_method = false:suggestion
37 | dotnet_style_qualification_for_event = false:suggestion
38 |
39 | # Use language keywords instead of framework type names for type references
40 | dotnet_style_predefined_type_for_locals_parameters_members = true:suggestion
41 | dotnet_style_predefined_type_for_member_access = true:suggestion
42 |
43 | # Suggest more modern language features when available
44 | dotnet_style_object_initializer = true:suggestion
45 | dotnet_style_collection_initializer = true:suggestion
46 | dotnet_style_coalesce_expression = true:suggestion
47 | dotnet_style_null_propagation = true:suggestion
48 | dotnet_style_explicit_tuple_names = true:suggestion
49 |
50 | # CSharp code style settings:
51 | [*.cs]
52 | # Prefer "var" everywhere
53 | csharp_style_var_for_built_in_types = true:suggestion
54 | csharp_style_var_when_type_is_apparent = true:suggestion
55 | csharp_style_var_elsewhere = true:suggestion
56 |
57 | # Prefer method-like constructs to have a block body
58 | csharp_style_expression_bodied_methods = false:none
59 | csharp_style_expression_bodied_constructors = false:none
60 | csharp_style_expression_bodied_operators = false:none
61 |
62 | # Prefer property-like constructs to have an expression-body
63 | csharp_style_expression_bodied_properties = true:none
64 | csharp_style_expression_bodied_indexers = true:none
65 | csharp_style_expression_bodied_accessors = true:none
66 |
67 | # Suggest more modern language features when available
68 | csharp_style_pattern_matching_over_is_with_cast_check = true:suggestion
69 | csharp_style_pattern_matching_over_as_with_null_check = true:suggestion
70 | csharp_style_inlined_variable_declaration = true:suggestion
71 | csharp_style_throw_expression = true:suggestion
72 | csharp_style_conditional_delegate_call = true:suggestion
73 |
74 | # Newline settings
75 | csharp_new_line_before_open_brace = all
76 | csharp_new_line_before_else = true
77 | csharp_new_line_before_catch = true
78 | csharp_new_line_before_finally = true
79 | csharp_new_line_before_members_in_object_initializers = true
80 | csharp_new_line_before_members_in_anonymous_types = true
81 |
--------------------------------------------------------------------------------
/.gitattributes:
--------------------------------------------------------------------------------
1 | # This file is understood by git 1.7.2+.
2 |
3 | # Windows specific files should always be crlf on checkout
4 | *.bat text eol=crlf
5 | *.cmd text eol=crlf
6 | *.ps1 text eol=crlf
7 |
8 | # Check out the following as ln always for osx/linux/cygwin
9 | *.sh text eol=lf
10 |
11 | # Opt in the following types to always normalize line endings
12 | # on checkin and always use native endings on checkout.
13 | *.config text
14 | *.cs text diff=csharp
15 | *.csproj text
16 | *.md text
17 | *.msbuild text
18 | *.nuspec text
19 | *.pp text
20 | *.ps1 text
21 | *.sln text
22 | *.tt text
23 | *.txt text
24 | *.xaml text
25 | *.xml text
26 |
27 | # Binary files
28 | *.bmp binary
29 | *.jpeg binary
30 | *.jpg binary
31 | *.nupkg binary
32 | *.png binary
33 | *.sdf binary
34 |
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | ## Ignore Visual Studio temporary files, build results, and
2 | ## files generated by popular Visual Studio add-ons.
3 |
4 | ## Android Auto-generated files
5 | Resource.designer.cs
6 |
7 | # User-specific files
8 | *.suo
9 | *.user
10 | *.userosscache
11 | *.sln.docstates
12 |
13 | # User-specific files (MonoDevelop/Xamarin Studio)
14 | *.userprefs
15 |
16 | # Build results
17 | [Dd]ebug/
18 | [Dd]ebugPublic/
19 | [Rr]elease/
20 | [Rr]eleases/
21 | x64/
22 | x86/
23 | build/
24 | bld/
25 | [Bb]in/
26 | [Oo]bj/
27 |
28 | # Visual Studo 2015 cache/options directory
29 | .vs/
30 |
31 | # MSTest test Results
32 | [Tt]est[Rr]esult*/
33 | [Tt]est[Rr]esult*
34 | [Bb]uild[Ll]og.*
35 |
36 | # NUNIT
37 | *.VisualState.xml
38 | TestResult.xml
39 |
40 | # Build Results of an ATL Project
41 | [Dd]ebugPS/
42 | [Rr]eleasePS/
43 | dlldata.c
44 |
45 | # .NET Core
46 | project.lock.json
47 | project.fragment.lock.json
48 | artifacts/
49 | **/Properties/launchSettings.json
50 |
51 | *_i.c
52 | *_p.c
53 | *_i.h
54 | *.ilk
55 | *.meta
56 | *.obj
57 | *.pch
58 | *.pdb
59 | *.pgc
60 | *.pgd
61 | *.rsp
62 | *.sbr
63 | *.tlb
64 | *.tli
65 | *.tlh
66 | *.tmp
67 | *.tmp_proj
68 | *.log
69 | *.vspscc
70 | *.vssscc
71 | .builds
72 | *.pidb
73 | *.svclog
74 | *.scc
75 | *.exe
76 | *.bak
77 | *.cache
78 | *.lib
79 |
80 | # Chutzpah Test files
81 | _Chutzpah*
82 |
83 | # Visual C++ cache files
84 | ipch/
85 | *.aps
86 | *.ncb
87 | *.opensdf
88 | *.sdf
89 | *.cachefile
90 |
91 | # Visual Studio profiler
92 | *.psess
93 | *.vsp
94 | *.vspx
95 |
96 | # TFS 2012 Local Workspace
97 | $tf/
98 |
99 | # Guidance Automation Toolkit
100 | *.gpState
101 |
102 | # ReSharper is a .NET coding add-in
103 | _ReSharper*/
104 | *.[Rr]e[Ss]harper
105 | *.DotSettings.user
106 |
107 | # JustCode is a .NET coding addin-in
108 | .JustCode
109 |
110 | # TeamCity is a build add-in
111 | _TeamCity*
112 |
113 | # DotCover is a Code Coverage Tool
114 | *.dotCover
115 |
116 | # NCrunch
117 | _NCrunch_*
118 | .*crunch*.local.xml
119 | *.ncrunchproject
120 |
121 | # MightyMoose
122 | *.mm.*
123 | AutoTest.Net/
124 |
125 | # Web workbench (sass)
126 | .sass-cache/
127 |
128 | # Installshield output folder
129 | [Ee]xpress/
130 |
131 | # DocProject is a documentation generator add-in
132 | DocProject/buildhelp/
133 | DocProject/Help/*.HxT
134 | DocProject/Help/*.HxC
135 | DocProject/Help/*.hhc
136 | DocProject/Help/*.hhk
137 | DocProject/Help/*.hhp
138 | DocProject/Help/Html2
139 | DocProject/Help/html
140 |
141 | # Click-Once directory
142 | publish/
143 |
144 | # Publish Web Output
145 | *.[Pp]ublish.xml
146 | *.azurePubxml
147 | # TODO: Comment the next line if you want to checkin your web deploy settings
148 | # but database connection strings (with potential passwords) will be unencrypted
149 | *.pubxml
150 | *.publishproj
151 |
152 | # NuGet Packages
153 | *.nupkg
154 | # The packages folder can be ignored because of Package Restore
155 | **/packages/*
156 | # except build/, which is used as an MSBuild target.
157 | !**/packages/build/
158 | # Uncomment if necessary however generally it will be regenerated when needed
159 | #!**/packages/repositories.config
160 | # NuGet v3's project.json files produces more ignoreable files
161 | *.nuget.props
162 | *.nuget.targets
163 |
164 | #Allow NuGet.exe (do not ignore)
165 | !NuGet.exe
166 | *.orig
167 |
168 | # Windows Azure Build Output
169 | csx/
170 | *.build.csdef
171 |
172 | # Windows Store app package directory
173 | AppPackages/
174 |
175 | # Others
176 | *.[Cc]ache
177 | ClientBin/
178 | [Ss]tyle[Cc]op.*
179 | ~$*
180 | *~
181 | *.dbmdl
182 | *.dbproj.schemaview
183 | *.pfx
184 | *.publishsettings
185 | node_modules/
186 | bower_components/
187 |
188 | # RIA/Silverlight projects
189 | Generated_Code/
190 |
191 | # Backup & report files from converting an old project file
192 | # to a newer Visual Studio version. Backup files are not needed,
193 | # because we have git ;-)
194 | _UpgradeReport_Files/
195 | Backup*/
196 | UpgradeLog*.XML
197 | UpgradeLog*.htm
198 |
199 | # SQL Server files
200 | *.mdf
201 | *.ldf
202 |
203 | # Business Intelligence projects
204 | *.rdl.data
205 | *.bim.layout
206 | *.bim_*.settings
207 |
208 | # Microsoft Fakes
209 | FakesAssemblies/
210 |
211 | # Node.js Tools for Visual Studio
212 | .ntvs_analysis.dat
213 |
214 | # Visual Studio 6 build log
215 | *.plg
216 |
217 | # Visual Studio 6 workspace options file
218 | *.opt
219 |
220 | #ignore thumbnails created by windows
221 | Thumbs.db
222 |
223 | # Xcode
224 | .DS_Store
225 | */build/*
226 | *.pbxuser
227 | !default.pbxuser
228 | *.mode1v3
229 | !default.mode1v3
230 | *.mode2v3
231 | !default.mode2v3
232 | *.perspectivev3
233 | !default.perspectivev3
234 | xcuserdata
235 | profile
236 | *.moved-aside
237 | DerivedData
238 | .idea/
239 | *.hmap
240 | *.xccheckout
241 |
242 | #CocoaPods
243 | Pods
244 | nuspec/nuget.exe
245 |
246 | # NuGet
247 | packages/
248 | repositories.config
249 |
250 | #Build
251 | project.lock.json
252 | tools/*
253 | !tools/packages.config
254 | artifacts/
255 | *.nupkg
256 | *.binlog
257 |
258 | #linting
259 | .sonarqube/
--------------------------------------------------------------------------------
/FUNDING.yml:
--------------------------------------------------------------------------------
1 | github: Baseflow
2 | custom: https://baseflow.com/contact
3 |
--------------------------------------------------------------------------------
/LICENSE:
--------------------------------------------------------------------------------
1 | MIT License
2 |
3 | Copyright (c) 2018 Martijn van Dijk
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 |
--------------------------------------------------------------------------------
/MvxForms.Core/App.xaml:
--------------------------------------------------------------------------------
1 |
2 |
5 |
6 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/MvxForms.Core/App.xaml.cs:
--------------------------------------------------------------------------------
1 | using Xamarin.Forms;
2 |
3 | namespace MvxForms.Core
4 | {
5 | public partial class App : Application
6 | {
7 | public App()
8 | {
9 | InitializeComponent();
10 | }
11 | }
12 | }
13 |
--------------------------------------------------------------------------------
/MvxForms.Core/CoreApp.cs:
--------------------------------------------------------------------------------
1 | using MvvmCross.IoC;
2 | using MvvmCross.ViewModels;
3 |
4 | namespace MvxForms.Core
5 | {
6 | public class CoreApp : MvxApplication
7 | {
8 | public override void Initialize()
9 | {
10 | CreatableTypes()
11 | .EndingWith("Service")
12 | .AsInterfaces()
13 | .RegisterAsLazySingleton();
14 |
15 | RegisterAppStart();
16 | }
17 | }
18 | }
19 |
--------------------------------------------------------------------------------
/MvxForms.Core/MvxForms.Core.csproj:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | netstandard2.0
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
--------------------------------------------------------------------------------
/MvxForms.Core/Pages/MvxFormsPage.xaml:
--------------------------------------------------------------------------------
1 |
2 |
10 |
11 |
12 |
13 |
14 |
--------------------------------------------------------------------------------
/MvxForms.Core/Pages/MvxFormsPage.xaml.cs:
--------------------------------------------------------------------------------
1 | using MvvmCross.Forms.Views;
2 | using MvxForms.Core.ViewModels;
3 |
4 | namespace MvxForms.Core.Pages
5 | {
6 | public partial class MvxFormsPage : MvxContentPage
7 | {
8 | public MvxFormsPage()
9 | {
10 | InitializeComponent();
11 | }
12 | }
13 | }
14 |
--------------------------------------------------------------------------------
/MvxForms.Core/ViewModels/MvxFormsViewModel.cs:
--------------------------------------------------------------------------------
1 | using System.Threading.Tasks;
2 | using MvvmCross.Commands;
3 | using MvvmCross.ViewModels;
4 |
5 | namespace MvxForms.Core.ViewModels
6 | {
7 | public class MvxFormsViewModel : MvxViewModel
8 | {
9 | public MvxFormsViewModel()
10 | {
11 | }
12 |
13 | public override Task Initialize()
14 | {
15 | //TODO: Add starting logic here
16 |
17 | return base.Initialize();
18 | }
19 |
20 | public IMvxCommand ResetTextCommand => new MvxCommand(ResetText);
21 | private void ResetText()
22 | {
23 | Text = "Hello MvvmCross";
24 | }
25 |
26 | private string _text = "Hello MvvmCross";
27 | public string Text
28 | {
29 | get { return _text; }
30 | set { SetProperty(ref _text, value); }
31 | }
32 | }
33 | }
34 |
--------------------------------------------------------------------------------
/MvxForms.Droid/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 your 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 |
--------------------------------------------------------------------------------
/MvxForms.Droid/LinkerPleaseInclude.cs:
--------------------------------------------------------------------------------
1 | using System.Collections.Specialized;
2 | using System.Windows.Input;
3 | using Android.App;
4 | using Android.Views;
5 | using Android.Widget;
6 | using MvvmCross.Binding.BindingContext;
7 | using MvvmCross.Navigation;
8 | using MvvmCross.ViewModels;
9 |
10 | namespace MvxForms.Droid
11 | {
12 | // This class is never actually executed, but when Xamarin linking is enabled it does how to ensure types and properties
13 | // are preserved in the deployed app
14 | public class LinkerPleaseInclude
15 | {
16 | public void Include(Button button)
17 | {
18 | button.Click += (s,e) => button.Text = button.Text + "";
19 | }
20 |
21 | public void Include(CheckBox checkBox)
22 | {
23 | checkBox.CheckedChange += (sender, args) => checkBox.Checked = !checkBox.Checked;
24 | }
25 |
26 | public void Include(Switch @switch)
27 | {
28 | @switch.CheckedChange += (sender, args) => @switch.Checked = !@switch.Checked;
29 | }
30 |
31 | public void Include(View view)
32 | {
33 | view.Click += (s, e) => view.ContentDescription = view.ContentDescription + "";
34 | }
35 |
36 | public void Include(TextView text)
37 | {
38 | text.AfterTextChanged += (sender, args) => text.Text = "" + text.Text;
39 | text.Hint = "" + text.Hint;
40 | }
41 |
42 | public void Include(CheckedTextView text)
43 | {
44 | text.AfterTextChanged += (sender, args) => text.Text = "" + text.Text;
45 | text.Hint = "" + text.Hint;
46 | }
47 |
48 | public void Include(CompoundButton cb)
49 | {
50 | cb.CheckedChange += (sender, args) => cb.Checked = !cb.Checked;
51 | }
52 |
53 | public void Include(SeekBar sb)
54 | {
55 | sb.ProgressChanged += (sender, args) => sb.Progress = sb.Progress + 1;
56 | }
57 |
58 | public void Include(RadioGroup radioGroup)
59 | {
60 | radioGroup.CheckedChange += (sender, args) => radioGroup.Check(args.CheckedId);
61 | }
62 |
63 | public void Include(RadioButton radioButton)
64 | {
65 | radioButton.CheckedChange += (sender, args) => radioButton.Checked = args.IsChecked;
66 | }
67 |
68 | public void Include(RatingBar ratingBar)
69 | {
70 | ratingBar.RatingBarChange += (sender, args) => ratingBar.Rating = 0 + ratingBar.Rating;
71 | }
72 |
73 | public void Include(Activity act)
74 | {
75 | act.Title = act.Title + "";
76 | }
77 |
78 | public void Include(INotifyCollectionChanged changed)
79 | {
80 | changed.CollectionChanged += (s,e) => { var test = $"{e.Action}{e.NewItems}{e.NewStartingIndex}{e.OldItems}{e.OldStartingIndex}"; };
81 | }
82 |
83 | public void Include(ICommand command)
84 | {
85 | command.CanExecuteChanged += (s, e) => { if (command.CanExecute(null)) command.Execute(null); };
86 | }
87 |
88 | public void Include(MvvmCross.IoC.MvxPropertyInjector injector)
89 | {
90 | injector = new MvvmCross.IoC.MvxPropertyInjector ();
91 | }
92 |
93 | public void Include(System.ComponentModel.INotifyPropertyChanged changed)
94 | {
95 | changed.PropertyChanged += (sender, e) => {
96 | var test = e.PropertyName;
97 | };
98 | }
99 |
100 | public void Include(MvxTaskBasedBindingContext context)
101 | {
102 | context.Dispose();
103 | var context2 = new MvxTaskBasedBindingContext();
104 | context2.Dispose();
105 | }
106 |
107 | public void Include(MvxNavigationService service, IMvxViewModelLoader loader)
108 | {
109 | service = new MvxNavigationService(null, loader);
110 | }
111 | }
112 | }
113 |
--------------------------------------------------------------------------------
/MvxForms.Droid/MainActivity.cs:
--------------------------------------------------------------------------------
1 | using Android.App;
2 | using Android.Content.PM;
3 | using Android.OS;
4 | using MvvmCross.Forms.Platforms.Android.Views;
5 |
6 | namespace MvxForms.Droid
7 | {
8 | [Activity(Label = "MvxForms.Droid", Icon = "@drawable/icon", Theme = "@style/MyTheme", ConfigurationChanges = ConfigChanges.ScreenSize | ConfigChanges.Orientation)]
9 | public class MainActivity : MvxFormsAppCompatActivity
10 | {
11 | protected override void OnCreate(Bundle bundle)
12 | {
13 | base.OnCreate(bundle);
14 | TabLayoutResource = Resource.Layout.Tabbar;
15 | ToolbarResource = Resource.Layout.Toolbar;
16 | }
17 | }
18 | }
19 |
--------------------------------------------------------------------------------
/MvxForms.Droid/MvxForms.Droid.csproj:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | Debug
5 | AnyCPU
6 | {0F7AD86D-BEEE-4413-92DF-E3E142EB1794}
7 | {EFBA0AD7-5A72-4C68-AF49-83D382785DCF};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}
8 | Library
9 | MvxForms.Droid
10 | MvxForms.Droid
11 | v9.0
12 | True
13 | Resources\Resource.designer.cs
14 | Resource
15 | Properties\AndroidManifest.xml
16 | Resources
17 | Assets
18 |
19 |
20 | true
21 | full
22 | false
23 | bin\Debug
24 | DEBUG;
25 | prompt
26 | 4
27 | None
28 |
29 |
30 | true
31 | pdbonly
32 | true
33 | bin\Release
34 | prompt
35 | 4
36 | true
37 | false
38 |
39 |
40 |
41 |
42 |
43 |
44 |
45 |
46 |
47 |
48 |
49 |
50 |
51 |
52 |
53 |
54 |
55 |
56 |
57 |
58 |
59 |
60 |
61 |
62 |
63 |
64 |
65 |
66 |
67 |
68 |
69 |
70 |
71 |
72 |
73 |
74 | 6.4.2
75 |
76 |
77 | 6.4.2
78 |
79 |
80 | 4.5.0.617
81 |
82 |
83 |
84 |
85 | {F51D9DFF-9348-48C3-A075-03F7EB4175C2}
86 | MvxForms.Core
87 |
88 |
89 |
90 |
--------------------------------------------------------------------------------
/MvxForms.Droid/Properties/AndroidManifest.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
--------------------------------------------------------------------------------
/MvxForms.Droid/Properties/AssemblyInfo.cs:
--------------------------------------------------------------------------------
1 | using System.Reflection;
2 | using System.Runtime.CompilerServices;
3 | using Android.App;
4 |
5 | // Information about this assembly is defined by the following attributes.
6 | // Change them to the values specific to your project.
7 |
8 | [assembly: AssemblyTitle("MvxForms.Droid")]
9 | [assembly: AssemblyDescription("")]
10 | [assembly: AssemblyConfiguration("")]
11 | [assembly: AssemblyCompany("")]
12 | [assembly: AssemblyProduct("")]
13 | [assembly: AssemblyCopyright("${AuthorCopyright}")]
14 | [assembly: AssemblyTrademark("")]
15 | [assembly: AssemblyCulture("")]
16 |
17 | // The assembly version has the format "{Major}.{Minor}.{Build}.{Revision}".
18 | // The form "{Major}.{Minor}.*" will automatically update the build and revision,
19 | // and "{Major}.{Minor}.{Build}.*" will update just the revision.
20 |
21 | [assembly: AssemblyVersion("1.0.0")]
22 |
23 | // The following attributes are used to specify the signing key for the assembly,
24 | // if desired. See the Mono documentation for more information about signing.
25 |
26 | //[assembly: AssemblyDelaySign(false)]
27 | //[assembly: AssemblyKeyFile("")]
28 |
--------------------------------------------------------------------------------
/MvxForms.Droid/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.
45 |
--------------------------------------------------------------------------------
/MvxForms.Droid/Resources/drawable-hdpi/icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Baseflow/MvxForms/dc8eae65e94f109432bb0c7ded0a712bcf5bcf7a/MvxForms.Droid/Resources/drawable-hdpi/icon.png
--------------------------------------------------------------------------------
/MvxForms.Droid/Resources/drawable-xhdpi/icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Baseflow/MvxForms/dc8eae65e94f109432bb0c7ded0a712bcf5bcf7a/MvxForms.Droid/Resources/drawable-xhdpi/icon.png
--------------------------------------------------------------------------------
/MvxForms.Droid/Resources/drawable-xxhdpi/icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Baseflow/MvxForms/dc8eae65e94f109432bb0c7ded0a712bcf5bcf7a/MvxForms.Droid/Resources/drawable-xxhdpi/icon.png
--------------------------------------------------------------------------------
/MvxForms.Droid/Resources/drawable/icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Baseflow/MvxForms/dc8eae65e94f109432bb0c7ded0a712bcf5bcf7a/MvxForms.Droid/Resources/drawable/icon.png
--------------------------------------------------------------------------------
/MvxForms.Droid/Resources/drawable/splash.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Baseflow/MvxForms/dc8eae65e94f109432bb0c7ded0a712bcf5bcf7a/MvxForms.Droid/Resources/drawable/splash.png
--------------------------------------------------------------------------------
/MvxForms.Droid/Resources/layout/MainView.axml:
--------------------------------------------------------------------------------
1 |
2 |
7 |
12 |
18 |
--------------------------------------------------------------------------------
/MvxForms.Droid/Resources/layout/SplashScreen.axml:
--------------------------------------------------------------------------------
1 |
2 |
6 |
10 |
11 |
--------------------------------------------------------------------------------
/MvxForms.Droid/Resources/layout/Tabbar.axml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
--------------------------------------------------------------------------------
/MvxForms.Droid/Resources/layout/Toolbar.axml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
--------------------------------------------------------------------------------
/MvxForms.Droid/Resources/values/SplashStyle.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
7 |
8 |
--------------------------------------------------------------------------------
/MvxForms.Droid/Resources/values/styles.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
5 |
6 |
24 |
27 |
28 |
--------------------------------------------------------------------------------
/MvxForms.Droid/Setup.cs:
--------------------------------------------------------------------------------
1 | using Android.Content;
2 | using MvvmCross.Forms.Platforms.Android.Core;
3 | using MvvmCross.ViewModels;
4 | using MvxForms.Core;
5 |
6 | namespace MvxForms.Droid
7 | {
8 | public class Setup : MvxFormsAndroidSetup
9 | {
10 | }
11 | }
12 |
--------------------------------------------------------------------------------
/MvxForms.Droid/SplashScreen.cs:
--------------------------------------------------------------------------------
1 | using System.Threading.Tasks;
2 | using Android.App;
3 | using Android.Content.PM;
4 | using Android.OS;
5 | using MvvmCross.Forms.Platforms.Android.Views;
6 | using MvvmCross.Platforms.Android.Views;
7 | using MvxForms.Core;
8 |
9 | namespace MvxForms.Droid
10 | {
11 | [Activity(
12 | Label = "MvxForms"
13 | , MainLauncher = true
14 | , Icon = "@drawable/icon"
15 | , Theme = "@style/Theme.Splash"
16 | , NoHistory = true
17 | , ScreenOrientation = ScreenOrientation.Portrait)]
18 | public class SplashScreen : MvxFormsSplashScreenActivity
19 | {
20 | public SplashScreen()
21 | : base(Resource.Layout.SplashScreen)
22 | {
23 | }
24 |
25 | protected override Task RunAppStartAsync(Bundle bundle)
26 | {
27 | StartActivity(typeof(MainActivity));
28 | return base.RunAppStartAsync(bundle);
29 | }
30 | }
31 | }
32 |
--------------------------------------------------------------------------------
/MvxForms.iOS/AppDelegate.cs:
--------------------------------------------------------------------------------
1 | using Foundation;
2 | using MvvmCross.Forms.Platforms.Ios.Core;
3 | using UIKit;
4 |
5 | namespace MvxForms.iOS
6 | {
7 | [Register("AppDelegate")]
8 | public partial class AppDelegate : MvxFormsApplicationDelegate
9 | {
10 | }
11 | }
12 |
--------------------------------------------------------------------------------
/MvxForms.iOS/Assets.xcassets/AppIcon.appiconset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images": [
3 | {
4 | "idiom": "iphone",
5 | "size": "29x29",
6 | "scale": "1x"
7 | },
8 | {
9 | "idiom": "iphone",
10 | "size": "29x29",
11 | "scale": "2x"
12 | },
13 | {
14 | "idiom": "iphone",
15 | "size": "29x29",
16 | "scale": "3x"
17 | },
18 | {
19 | "idiom": "iphone",
20 | "size": "40x40",
21 | "scale": "2x"
22 | },
23 | {
24 | "idiom": "iphone",
25 | "size": "40x40",
26 | "scale": "3x"
27 | },
28 | {
29 | "idiom": "iphone",
30 | "size": "57x57",
31 | "scale": "1x"
32 | },
33 | {
34 | "idiom": "iphone",
35 | "size": "57x57",
36 | "scale": "2x"
37 | },
38 | {
39 | "idiom": "iphone",
40 | "size": "60x60",
41 | "scale": "2x"
42 | },
43 | {
44 | "idiom": "iphone",
45 | "size": "60x60",
46 | "scale": "3x"
47 | },
48 | {
49 | "idiom": "ipad",
50 | "size": "29x29",
51 | "scale": "1x"
52 | },
53 | {
54 | "idiom": "ipad",
55 | "size": "29x29",
56 | "scale": "2x"
57 | },
58 | {
59 | "idiom": "ipad",
60 | "size": "40x40",
61 | "scale": "1x"
62 | },
63 | {
64 | "idiom": "ipad",
65 | "size": "40x40",
66 | "scale": "2x"
67 | },
68 | {
69 | "idiom": "ipad",
70 | "size": "50x50",
71 | "scale": "1x"
72 | },
73 | {
74 | "idiom": "ipad",
75 | "size": "50x50",
76 | "scale": "2x"
77 | },
78 | {
79 | "idiom": "ipad",
80 | "size": "72x72",
81 | "scale": "1x"
82 | },
83 | {
84 | "idiom": "ipad",
85 | "size": "72x72",
86 | "scale": "2x"
87 | },
88 | {
89 | "idiom": "ipad",
90 | "size": "76x76",
91 | "scale": "1x"
92 | },
93 | {
94 | "idiom": "ipad",
95 | "size": "76x76",
96 | "scale": "2x"
97 | },
98 | {
99 | "size": "24x24",
100 | "idiom": "watch",
101 | "scale": "2x",
102 | "role": "notificationCenter",
103 | "subtype": "38mm"
104 | },
105 | {
106 | "size": "27.5x27.5",
107 | "idiom": "watch",
108 | "scale": "2x",
109 | "role": "notificationCenter",
110 | "subtype": "42mm"
111 | },
112 | {
113 | "size": "29x29",
114 | "idiom": "watch",
115 | "role": "companionSettings",
116 | "scale": "2x"
117 | },
118 | {
119 | "size": "29x29",
120 | "idiom": "watch",
121 | "role": "companionSettings",
122 | "scale": "3x"
123 | },
124 | {
125 | "size": "40x40",
126 | "idiom": "watch",
127 | "scale": "2x",
128 | "role": "appLauncher",
129 | "subtype": "38mm"
130 | },
131 | {
132 | "size": "44x44",
133 | "idiom": "watch",
134 | "scale": "2x",
135 | "role": "longLook",
136 | "subtype": "42mm"
137 | },
138 | {
139 | "size": "86x86",
140 | "idiom": "watch",
141 | "scale": "2x",
142 | "role": "quickLook",
143 | "subtype": "38mm"
144 | },
145 | {
146 | "size": "98x98",
147 | "idiom": "watch",
148 | "scale": "2x",
149 | "role": "quickLook",
150 | "subtype": "42mm"
151 | }
152 | ],
153 | "info": {
154 | "version": 1,
155 | "author": "xcode"
156 | }
157 | }
--------------------------------------------------------------------------------
/MvxForms.iOS/Assets.xcassets/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "info" : {
3 | "version" : 1,
4 | "author" : "xcode"
5 | }
6 | }
--------------------------------------------------------------------------------
/MvxForms.iOS/Entitlements.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
--------------------------------------------------------------------------------
/MvxForms.iOS/Info.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | CFBundleDisplayName
6 | MvxForms
7 | CFBundleName
8 | MvxForms
9 | CFBundleIdentifier
10 | com.mvx.forms.MvxForms
11 | CFBundleShortVersionString
12 | 1.0
13 | CFBundleVersion
14 | 1.0
15 | LSRequiresIPhoneOS
16 |
17 | MinimumOSVersion
18 | 8.0
19 | UIDeviceFamily
20 |
21 | 1
22 | 2
23 |
24 | UILaunchStoryboardName
25 | LaunchScreen
26 | UIRequiredDeviceCapabilities
27 |
28 | armv7
29 |
30 | UISupportedInterfaceOrientations
31 |
32 | UIInterfaceOrientationPortrait
33 | UIInterfaceOrientationLandscapeLeft
34 | UIInterfaceOrientationLandscapeRight
35 |
36 | UISupportedInterfaceOrientations~ipad
37 |
38 | UIInterfaceOrientationPortrait
39 | UIInterfaceOrientationPortraitUpsideDown
40 | UIInterfaceOrientationLandscapeLeft
41 | UIInterfaceOrientationLandscapeRight
42 |
43 | XSAppIconAssets
44 | Assets.xcassets/AppIcon.appiconset
45 |
46 |
47 |
--------------------------------------------------------------------------------
/MvxForms.iOS/LaunchScreen.storyboard:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
--------------------------------------------------------------------------------
/MvxForms.iOS/LinkerPleaseInclude.cs:
--------------------------------------------------------------------------------
1 | using System.Collections.Specialized;
2 | using System.Windows.Input;
3 | using Foundation;
4 | using UIKit;
5 | using MvvmCross.Platforms.Ios.Views;
6 | using MvvmCross.Navigation;
7 | using MvvmCross.ViewModels;
8 | using MvvmCross.Binding.BindingContext;
9 |
10 | namespace MvxForms.iOS
11 | {
12 | // This class is never actually executed, but when Xamarin linking is enabled it does ensure types and properties
13 | // are preserved in the deployed app
14 | [Foundation.Preserve(AllMembers = true)]
15 | public class LinkerPleaseInclude
16 | {
17 | public void Include(MvxTaskBasedBindingContext c)
18 | {
19 | c.Dispose();
20 | var c2 = new MvxTaskBasedBindingContext();
21 | c2.Dispose();
22 | }
23 |
24 | public void Include(UIButton uiButton)
25 | {
26 | uiButton.TouchUpInside += (s, e) =>
27 | uiButton.SetTitle(uiButton.Title(UIControlState.Normal), UIControlState.Normal);
28 | }
29 |
30 | public void Include(UIBarButtonItem barButton)
31 | {
32 | barButton.Clicked += (s, e) =>
33 | barButton.Title = barButton.Title + "";
34 | }
35 |
36 | public void Include(UITextField textField)
37 | {
38 | textField.Text = textField.Text + "";
39 | textField.EditingChanged += (sender, args) => { textField.Text = ""; };
40 | }
41 |
42 | public void Include(UITextView textView)
43 | {
44 | textView.Text = textView.Text + "";
45 | textView.Changed += (sender, args) => { textView.Text = ""; };
46 | }
47 |
48 | public void Include(UILabel label)
49 | {
50 | label.Text = label.Text + "";
51 | label.AttributedText = new NSAttributedString(label.AttributedText.ToString() + "");
52 | }
53 |
54 | public void Include(UIImageView imageView)
55 | {
56 | imageView.Image = new UIImage(imageView.Image.CGImage);
57 | }
58 |
59 | public void Include(UIDatePicker date)
60 | {
61 | date.Date = date.Date.AddSeconds(1);
62 | date.ValueChanged += (sender, args) => { date.Date = NSDate.DistantFuture; };
63 | }
64 |
65 | public void Include(UISlider slider)
66 | {
67 | slider.Value = slider.Value + 1;
68 | slider.ValueChanged += (sender, args) => { slider.Value = 1; };
69 | }
70 |
71 | public void Include(UIProgressView progress)
72 | {
73 | progress.Progress = progress.Progress + 1;
74 | }
75 |
76 | public void Include(UISwitch sw)
77 | {
78 | sw.On = !sw.On;
79 | sw.ValueChanged += (sender, args) => { sw.On = false; };
80 | }
81 |
82 | public void Include(MvxViewController vc)
83 | {
84 | vc.Title = vc.Title + "";
85 | }
86 |
87 | public void Include(UIStepper s)
88 | {
89 | s.Value = s.Value + 1;
90 | s.ValueChanged += (sender, args) => { s.Value = 0; };
91 | }
92 |
93 | public void Include(UIPageControl s)
94 | {
95 | s.Pages = s.Pages + 1;
96 | s.ValueChanged += (sender, args) => { s.Pages = 0; };
97 | }
98 |
99 | public void Include(INotifyCollectionChanged changed)
100 | {
101 | changed.CollectionChanged += (s, e) => { var test = $"{e.Action}{e.NewItems}{e.NewStartingIndex}{e.OldItems}{e.OldStartingIndex}"; };
102 | }
103 |
104 | public void Include(ICommand command)
105 | {
106 | command.CanExecuteChanged += (s, e) => { if (command.CanExecute(null)) command.Execute(null); };
107 | }
108 |
109 | public void Include(MvvmCross.IoC.MvxPropertyInjector injector)
110 | {
111 | injector = new MvvmCross.IoC.MvxPropertyInjector();
112 | }
113 |
114 | public void Include(System.ComponentModel.INotifyPropertyChanged changed)
115 | {
116 | changed.PropertyChanged += (sender, e) => { var test = e.PropertyName; };
117 | }
118 |
119 | public void Include(MvxNavigationService service, IMvxViewModelLoader loader)
120 | {
121 | service = new MvxNavigationService(null, loader);
122 | }
123 | }
124 | }
125 |
--------------------------------------------------------------------------------
/MvxForms.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 MvxForms.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 |
--------------------------------------------------------------------------------
/MvxForms.iOS/MvxForms.iOS.csproj:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | Debug
5 | iPhoneSimulator
6 | {75F97699-58D8-4246-ADAC-08000DE0D008}
7 | {FEACFBD2-3405-455C-9665-78FE426C6842};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}
8 | Exe
9 | MvxForms.iOS
10 | MvxForms.Core.iOS
11 | Resources
12 |
13 |
14 | true
15 | full
16 | false
17 | bin\iPhoneSimulator\Debug
18 | DEBUG;ENABLE_TEST_CLOUD;
19 | prompt
20 | 4
21 | iPhone Developer
22 | true
23 | true
24 | true
25 | true
26 | 15371
27 | None
28 | i386, x86_64
29 | HttpClientHandler
30 | x86
31 | MvxForms.iOS
32 |
33 |
34 | pdbonly
35 | true
36 | bin\iPhone\Release
37 | prompt
38 | 4
39 | iPhone Developer
40 | true
41 | Entitlements.plist
42 | SdkOnly
43 | ARMv7, ARM64
44 | HttpClientHandler
45 | x86
46 |
47 |
48 | pdbonly
49 | true
50 | bin\iPhoneSimulator\Release
51 | prompt
52 | 4
53 | iPhone Developer
54 | true
55 | None
56 | i386, x86_64
57 | HttpClientHandler
58 | x86
59 | MvxForms.iOS
60 |
61 |
62 | true
63 | full
64 | false
65 | bin\iPhone\Debug
66 | DEBUG;ENABLE_TEST_CLOUD;
67 | prompt
68 | 4
69 | iPhone Developer
70 | true
71 | true
72 | true
73 | true
74 | true
75 | true
76 | Entitlements.plist
77 | 28468
78 | SdkOnly
79 | ARMv7, ARM64
80 | HttpClientHandler
81 | x86
82 |
83 |
84 |
85 |
86 |
87 |
88 |
89 |
90 |
91 | false
92 |
93 |
94 | false
95 |
96 |
97 |
98 |
99 |
100 |
101 |
102 |
103 |
104 |
105 |
106 |
107 |
108 |
109 |
110 |
111 |
112 |
113 |
114 |
115 | 6.4.2
116 |
117 |
118 | 6.4.2
119 |
120 |
121 | 4.5.0.617
122 |
123 |
124 |
125 |
126 | {F51D9DFF-9348-48C3-A075-03F7EB4175C2}
127 | MvxForms.Core
128 |
129 |
130 |
131 |
--------------------------------------------------------------------------------
/MvxForms.iOS/Setup.cs:
--------------------------------------------------------------------------------
1 | using MvvmCross.Forms.Platforms.Ios.Core;
2 | using MvvmCross.Platforms.Ios.Core;
3 | using MvvmCross.ViewModels;
4 | using MvxForms.Core;
5 | using UIKit;
6 |
7 | namespace MvxForms.iOS
8 | {
9 | public class Setup : MvxFormsIosSetup
10 | {
11 | }
12 | }
13 |
--------------------------------------------------------------------------------
/MvxForms.sln:
--------------------------------------------------------------------------------
1 |
2 | Microsoft Visual Studio Solution File, Format Version 12.00
3 | # Visual Studio 2012
4 | Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "MvxForms.Core", "MvxForms.Core\MvxForms.Core.csproj", "{F51D9DFF-9348-48C3-A075-03F7EB4175C2}"
5 | EndProject
6 | Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "MvxForms.iOS", "MvxForms.iOS\MvxForms.iOS.csproj", "{75F97699-58D8-4246-ADAC-08000DE0D008}"
7 | EndProject
8 | Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "MvxForms.Droid", "MvxForms.Droid\MvxForms.Droid.csproj", "{0F7AD86D-BEEE-4413-92DF-E3E142EB1794}"
9 | EndProject
10 | Global
11 | GlobalSection(SolutionConfigurationPlatforms) = preSolution
12 | Debug|Any CPU = Debug|Any CPU
13 | Release|Any CPU = Release|Any CPU
14 | Debug|iPhoneSimulator = Debug|iPhoneSimulator
15 | Release|iPhone = Release|iPhone
16 | Release|iPhoneSimulator = Release|iPhoneSimulator
17 | Debug|iPhone = Debug|iPhone
18 | EndGlobalSection
19 | GlobalSection(ProjectConfigurationPlatforms) = postSolution
20 | {F51D9DFF-9348-48C3-A075-03F7EB4175C2}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
21 | {F51D9DFF-9348-48C3-A075-03F7EB4175C2}.Debug|Any CPU.Build.0 = Debug|Any CPU
22 | {F51D9DFF-9348-48C3-A075-03F7EB4175C2}.Release|Any CPU.ActiveCfg = Release|Any CPU
23 | {F51D9DFF-9348-48C3-A075-03F7EB4175C2}.Release|Any CPU.Build.0 = Release|Any CPU
24 | {F51D9DFF-9348-48C3-A075-03F7EB4175C2}.Debug|iPhoneSimulator.ActiveCfg = Debug|Any CPU
25 | {F51D9DFF-9348-48C3-A075-03F7EB4175C2}.Debug|iPhoneSimulator.Build.0 = Debug|Any CPU
26 | {F51D9DFF-9348-48C3-A075-03F7EB4175C2}.Release|iPhone.ActiveCfg = Release|Any CPU
27 | {F51D9DFF-9348-48C3-A075-03F7EB4175C2}.Release|iPhone.Build.0 = Release|Any CPU
28 | {F51D9DFF-9348-48C3-A075-03F7EB4175C2}.Release|iPhoneSimulator.ActiveCfg = Release|Any CPU
29 | {F51D9DFF-9348-48C3-A075-03F7EB4175C2}.Release|iPhoneSimulator.Build.0 = Release|Any CPU
30 | {F51D9DFF-9348-48C3-A075-03F7EB4175C2}.Debug|iPhone.ActiveCfg = Debug|Any CPU
31 | {F51D9DFF-9348-48C3-A075-03F7EB4175C2}.Debug|iPhone.Build.0 = Debug|Any CPU
32 | {75F97699-58D8-4246-ADAC-08000DE0D008}.Debug|Any CPU.ActiveCfg = Debug|iPhoneSimulator
33 | {75F97699-58D8-4246-ADAC-08000DE0D008}.Debug|Any CPU.Build.0 = Debug|iPhoneSimulator
34 | {75F97699-58D8-4246-ADAC-08000DE0D008}.Release|Any CPU.ActiveCfg = Release|iPhone
35 | {75F97699-58D8-4246-ADAC-08000DE0D008}.Release|Any CPU.Build.0 = Release|iPhone
36 | {75F97699-58D8-4246-ADAC-08000DE0D008}.Debug|iPhoneSimulator.ActiveCfg = Debug|iPhoneSimulator
37 | {75F97699-58D8-4246-ADAC-08000DE0D008}.Debug|iPhoneSimulator.Build.0 = Debug|iPhoneSimulator
38 | {75F97699-58D8-4246-ADAC-08000DE0D008}.Release|iPhone.ActiveCfg = Release|iPhone
39 | {75F97699-58D8-4246-ADAC-08000DE0D008}.Release|iPhone.Build.0 = Release|iPhone
40 | {75F97699-58D8-4246-ADAC-08000DE0D008}.Release|iPhoneSimulator.ActiveCfg = Release|iPhoneSimulator
41 | {75F97699-58D8-4246-ADAC-08000DE0D008}.Release|iPhoneSimulator.Build.0 = Release|iPhoneSimulator
42 | {75F97699-58D8-4246-ADAC-08000DE0D008}.Debug|iPhone.ActiveCfg = Debug|iPhone
43 | {75F97699-58D8-4246-ADAC-08000DE0D008}.Debug|iPhone.Build.0 = Debug|iPhone
44 | {0F7AD86D-BEEE-4413-92DF-E3E142EB1794}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
45 | {0F7AD86D-BEEE-4413-92DF-E3E142EB1794}.Debug|Any CPU.Build.0 = Debug|Any CPU
46 | {0F7AD86D-BEEE-4413-92DF-E3E142EB1794}.Release|Any CPU.ActiveCfg = Release|Any CPU
47 | {0F7AD86D-BEEE-4413-92DF-E3E142EB1794}.Release|Any CPU.Build.0 = Release|Any CPU
48 | {0F7AD86D-BEEE-4413-92DF-E3E142EB1794}.Debug|iPhoneSimulator.ActiveCfg = Debug|Any CPU
49 | {0F7AD86D-BEEE-4413-92DF-E3E142EB1794}.Debug|iPhoneSimulator.Build.0 = Debug|Any CPU
50 | {0F7AD86D-BEEE-4413-92DF-E3E142EB1794}.Release|iPhone.ActiveCfg = Release|Any CPU
51 | {0F7AD86D-BEEE-4413-92DF-E3E142EB1794}.Release|iPhone.Build.0 = Release|Any CPU
52 | {0F7AD86D-BEEE-4413-92DF-E3E142EB1794}.Release|iPhoneSimulator.ActiveCfg = Release|Any CPU
53 | {0F7AD86D-BEEE-4413-92DF-E3E142EB1794}.Release|iPhoneSimulator.Build.0 = Release|Any CPU
54 | {0F7AD86D-BEEE-4413-92DF-E3E142EB1794}.Debug|iPhone.ActiveCfg = Debug|Any CPU
55 | {0F7AD86D-BEEE-4413-92DF-E3E142EB1794}.Debug|iPhone.Build.0 = Debug|Any CPU
56 | EndGlobalSection
57 | EndGlobal
58 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # MvxForms
2 | Sample App with Xamarin.Forms and MvvmCross
3 |
4 | Blog with information at: https://medium.com/@martijn00/using-mvvmcross-with-xamarin-forms-part-1-eaee5815bb8c
5 |
6 | # Support
7 |
8 | * Feel free to open an issue. Make sure to use one of the templates!
9 | * Commercial support is available. Integration with your app or services, samples, feature request, etc. Email: [hello@baseflow.com](mailto:hello@baseflow.com)
10 | * Powered by: [baseflow.com](https://baseflow.com)
11 |
--------------------------------------------------------------------------------