MugenMvvmToolkit.Android
6.5.0
dotnet add package MugenMvvmToolkit.Android --version 6.5.0
NuGet\Install-Package MugenMvvmToolkit.Android -Version 6.5.0
<PackageReference Include="MugenMvvmToolkit.Android" Version="6.5.0" />
paket add MugenMvvmToolkit.Android --version 6.5.0
#r "nuget: MugenMvvmToolkit.Android, 6.5.0"
// Install MugenMvvmToolkit.Android as a Cake Addin #addin nuget:?package=MugenMvvmToolkit.Android&version=6.5.0 // Install MugenMvvmToolkit.Android as a Cake Tool #tool nuget:?package=MugenMvvmToolkit.Android&version=6.5.0
This package contains the Android assemblies.
Mugen MVVM Toolkit makes it easier to develop cross-platform application using the Model-View-ViewModel design pattern.
The Mugen MVVM Toolkit makes extensive use of Net Standard Library to provide maintainable cross platform C# native applications.
The Mugen MVVM Toolkit provides a cross-platform MVVM development framework built on top of:
- WinForms
- WPF
- Xamarin.Android
- Xamarin.iOS
- Xamarin.Forms
- UWP
The MVVM framework includes the following features that differs this project from other frameworks:
- Deep integration with each platform.
- Supports state preservation and restoration for mobile platforms.
- Full Fragment support for Android, you do not need to worry about activity, fragments, sub-fragments or their state all this makes the framework.
- Solves the nested user controls problem in MVVM, all view models are dynamically created by you, using the GetViewModel method and you do not need to use the ViewModelLocator.
- Supports all kinds of navigation like modal window, page navigation, tab navigation, back stack fragment navigation for android. You can also easily add a new kind of navigation.
- Navigation system works with view models and allows to expect the completion of the operation. You can pass any parameters between view models.
- Good design mode support, for xaml platforms supports the creation of design view model with any constructor parameters.
- Supports bindings on all platforms, all of the native binding features available for WPF platform available on all platforms and even more.
- Binding supports C# language expressions like Linq, Extension methods, method call, ternary operator (?:), coalescing operator (??), etc.
- Supports subscription to any control event.
- Built-in support for validation.
- You can easily write their own extensions for bindings.
- Supports attached members (properties, events, methods), you can extend any object as you want.
- Special editor for WinForms, you do not need to write code to create bindings.
- Binding parser builds syntax tree that allows you to easily change or extend the bindings, without manipulation of the raw text.
- Binding supports fluent syntax.
- Excellent binding performance.
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net6.0-android was computed. net7.0-android was computed. net8.0-android was computed. |
MonoAndroid | monoandroid is compatible. |
-
- MugenMvvmToolkit.Binding (>= 6.5.0 && < 6.6.0)
NuGet packages (4)
Showing the top 4 NuGet packages that depend on MugenMvvmToolkit.Android:
Package | Downloads |
---|---|
MugenMvvmToolkit.StarterPack
This package contains the 'Getting Started' assemblies for UWP, Android, iOS platforms. Mugen MVVM Toolkit makes it easier to develop cross-platform application using the Model-View-ViewModel design pattern. The Mugen MVVM Toolkit makes extensive use of Net Standard Library to provide maintainable cross platform C# native applications. The Mugen MVVM Toolkit provides a cross-platform MVVM development framework built on top of: - WinForms - WPF - Xamarin.Android - Xamarin.iOS - Xamarin.Forms - UWP The MVVM framework includes the following features that differs this project from other frameworks: - Deep integration with each platform. - Supports state preservation and restoration for mobile platforms. - Full Fragment support for Android, you do not need to worry about activity, fragments, sub-fragments or their state all this makes the framework. - Solves the nested user controls problem in MVVM, all view models are dynamically created by you, using the GetViewModel method and you do not need to use the ViewModelLocator. - Supports all kinds of navigation like modal window, page navigation, tab navigation, back stack fragment navigation for android. You can also easily add a new kind of navigation. - Navigation system works with view models and allows to expect the completion of the operation. You can pass any parameters between view models. - Good design mode support, for xaml platforms supports the creation of design view model with any constructor parameters. - Supports bindings on all platforms, all of the native binding features available for WPF platform available on all platforms and even more. - Binding supports C# language expressions like Linq, Extension methods, method call, ternary operator (?:), coalescing operator (??), etc. - Supports subscription to any control event. - Built-in support for validation. - You can easily write their own extensions for bindings. - Supports attached members (properties, events, methods), you can extend any object as you want. - Special editor for WinForms, you do not need to write code to create bindings. - Binding parser builds syntax tree that allows you to easily change or extend the bindings, without manipulation of the raw text. - Binding supports fluent syntax. - Excellent binding performance. |
|
MugenMvvmToolkit.Android.AppCompat
This package adds Android Support Library v7 AppCompat support for MugenMvvmToolkit. |
|
MugenMvvmToolkit.Android.RecyclerView
This package adds Android Support Library v7 RecyclerView support for MugenMvvmToolkit. |
|
MugenMvvmToolkit.Android.Design
This package adds Android Design Support Library support for MugenMvvmToolkit. |
GitHub repositories
This package is not used by any popular GitHub repositories.
Version | Downloads | Last updated |
---|---|---|
6.5.0 | 3,668 | 5/22/2017 |
Breaking changes:
Core
- migrated to .netstandard 1.0 pcl not supported.
- removed WinRT 8.0\8.1 support
- removed Silverlight support
- removed WinPhone Silverlight support
- removed WPF page navigation
- removed ModuleBase class use the IModule interface instead.
- removed INavigationOperation interface to get NavigationCompletedTask property use the ToolkitExtensions.GetNavigationCompletedTask() extension method.
- removed the ICloseableViewModel.Close method, now all viewmodels can be closed use the ViewModelExtensions.CloseAsync() extension method.
- renamed PlatformExtensions to AndroidToolkitExtensions
- renamed PlatformExtensions to TouchToolkitExtensions
- renamed PlatformExtensions to UwpToolkitExtensions
- renamed PlatformDataBindingExtensions to UwpDataBindingExtensions
- renamed PlatformExtensions to WinFormsToolkitExtensions
- renamed PlatformExtensions to WpfToolkitExtensions
- renamed XamarinFormsExtensions to XamarinFormsToolkitExtensions
- renamed INavigableViewModel.OnNavigatingFrom to INavigableViewModel.OnNavigatingFromAsync
- renamed IVisualTreeManager.FindParent method to GetParent
- replaced MultiViewModel with generic version MultiViewModel<TViewModel>.
- removed IHasOperationResult added the IHasResultViewModel interface
- removed IValidatorProvider.GetValidatorTypes method
- changed parameter type for CloseableViewModel.OnClosing, CloseableViewModel.OnClosed methods from object to IDataContext.
- changed IDynamicViewModelPresenter interface.
- changed the ShowAsync method now it returns result of IHasResultViewModel interface instead of bool value
iOS
- removed UICollectionViewCellBindable, removed support for Selected, Highlighted bindings
- removed UITableViewCellBindable, removed support for Selected, Highlighted, Editing bindings
Xam.Forms
- change project to .netstandard and add this line to project.json "frameworks": { "netstandard1.0": { "imports": "portable-net45+win8+wpa81+wp8" } }
- added MvvmXamarinApplicationBase instead of default App implementation you can use this class
- android project should pass app context to the PlatformBootstrapperService new PlatformBootstrapperService(() => Forms.Context)
- moved binding stuff to the MugenMvvmToolkit.Xamarin.Forms.Binding need to change namespace xmlns:mugen="clr-namespace:MugenMvvmToolkit.Xamarin.Forms.MarkupExtensions;assembly=MugenMvvmToolkit.Xamarin.Forms.Binding"
Nuget
- added MugenMvvmToolkit.Android project if you're using Android project you need to install this package
- added MugenMvvmToolkit.iOS project if you're using iOS project you need to install this package
- added MugenMvvmToolkit.UWP and MugenMvvmToolkit.UWP.Binding project if you're using UWP project you need to install this packages
- added MugenMvvmToolkit.WPF.Binding project if you're using WPF binding project you need to install this package
- added MugenMvvmToolkit.Xamarin.Forms project if you're using Xamarin.Forms binding project you need to install this package
- added MugenMvvmToolkit.Android.Preference package
Changes:
Core
- fixed serializer register type exception
- fixed incorrect behavior for ClearBackStack with BringToFront flag
- changed implementation of DynamicViewModelWindowPresenter
- changed implementation of IWindowViewMediator
- changed NavigationCompletedTask to Task<bool>
- changed IModuleContext.IocContainer to NotNull
- changed static properties ViewCreated, ViewInitialized, ViewCleared rom ViewManager to events
- linker optimizations
- updated MultiViewModel navigation
- updated autofac
- updated bootstrapper methods
- added LinkerSafeAttribute to core projects
- added INavigationDispatcher that allows to control view model navigation process
- added IMultiViewModel.ClearAsync method
- added ability to handle background\foreground app navigation
- added NavigationMode.Background, NavigationMode.Foreground
- added NavigationMode.Remove
- added NavigationConstants.NavigationParameter constant
- added ability to get opened view models using INavigationDispatcher.GetOpenedViewModels methods
- added ViewModelExtensions.GetCurrentView method
- added strong names
- added LinkerSafe attribute to all ioc containers
- added MvvmApplication.Modules property
- added ability to load modules without scanning assemblies
- added ext method GetTopViewModels
- added IAwaitableDynamicViewModelPresenter that allows to wait when current navigation operation will be completed
- added IViewModelPresenter.WaitCurrentNavigationsAsync method
- added overloads to the DelegateContinuation constructor and to the ContinueWith method
- added DoNotTrackViewModelFrom, DoNotTrackViewModelTo constants for NavigationDispatcher
- added PlatformInfo.Idiom property
- added Parameter property to navigation event args
- added IInitializableView interface
- added ICleanableView interface
- added IOpenedViewModelInfo for the INavigationDispatcher
- added IHasResultViewModel interface
- added ViewModelConstants.CanCloseHandler constant
- added ApplicationSettings.MessagePresenterGetButtonText property
- added non generic IMutliViewModel interface
- added ability to restore view model with custom constructor parameters using InitializationConstants.IocParameters constant
- replaced INavigationOperation interface to the IAsyncOperation interface
- removed INavigationOperation interface
- removed NavigationMode.Reset
- removed ITaskExceptionHandler
- removed INavigationCachePolicy
- removed MugenInjection added built-in MugenContainer
- removed object parameter from OnClosing\OnClosed methods
- removed context parameter from Start method for bootstrappers
- removed NavigationMode.Forward
- removed DesignBootstrapperBase
- removed the INavigationService.GetParameterFromArgs method
- removed AttachedValueProvider from core project
- renamed Platform property to PlatformInfo
- removed IViewAwareViewModel interface implementation from WorkspaceViewModel
- moved DynamicViewModelWindowPresenter to core project
- moved ViewManager.GetDataContext, ViewManager.SetDataContext methods to the ToolkitExtensions class
- moved static properties from ViewManager to ApplicationSettings
- optimized ViewModelBase\NotifyPropertyChangedBase cleanup
Binding
- binding optimizations
- optimized data context
- added code to detect circular dependencies for attached event members
- added the non-generic Member method to the BindingSyntaxEx class
- moved binding converter from core project to platform projects
- removed RelativeSourceExpressionNode usage from fluent bindings (linker optimizations)
- split binding modules to static AttachedMembersRegistration class (linker optimizations)
- updated binding builder methods
- added ability to register attached member for indexer(Item[]) path
Android
- added support for Xamarin.Android.Support.v7.Preference
- added ability to use android resources from binding using resource accessor $color.myXmlColor, $drawable.myDrawable
- added support for BottomNavigationView view
- added cache for MenuInflater
- added Invisible attached member
- added the Activity attached member to View class
- updated navigation for NoHistory activities
- removed XmlDocument and XDocument usage (linker optimizations)
- split preference usage (linker optimizations)
iOS
- added MvvmAppDelegateBase
- updated iOS navigation added ability to close root view controller
- updated state restoration
- fixed iOS aot bug System.ExecutionEngineExceptionAttempting to JIT compile method 'MugenMvvmToolkit.Infrastructure.Callbacks.AsyncOperation`1<bool>:AddContinuation<MugenMvvmToolkit.Infrastructure.Callbacks.AsyncOperationImpl`2<object, object>> (MugenMvvmToolkit.Infrastructure.Callbacks.AsyncOperationImpl`2<object, object>)' while running with --aot-only.
- fixed bring to front navigation bug
Xam.Forms
- added RestorableViewModelPresenter
- added MvvmXamarinApplicationBase
- added ignore state key to RestorableViewModelPresenter
- added native ViewModelToViewConverter converter
- removed PlatformDataBindingModuleEx
UWP
- added SuspensionManager and NavigationHelper
- added MvvmUwpApplicationBase
- fixed broken uwp weakreferences
WinForms
- added exception handler for wpf\winforms dialogs
- add Owner to WPF\WinForms IWindowView
- update design mode determination for WinForms