Changelog History
Page 1
-
v8.0.0.1909 Changes
October 21, 2020Prism 8.0 RTM
๐ It's here, the long awaited Prism 8. This is a huge release and contains a number of breaking changes, bug fixes, new features and even a brand new Platform! So lets officially welcome the Uno Platform to the Prism family of supported platforms!
CI Feed Access
๐ท Beginning with Prism 8.0 all CI packages moving forward will only be available to Sponsors on the Sponsor Connect package feed.
Prism.Core - Notable Changes
- Added additional Registration Methods to allow Scoped Services. ( NOTE : Prism uses scoped lifetimes for Prism.Forms and creates a new scope each time a new Page is navigated to. It is not used anywhere else by Prism)
- โ Added additional Registration Methods to allow Factory / Delegate methods to register services
- โ Added additional Registration Methods to allow registering a single Implementation type for multiple services
- ๐ฅ BREAKING Removed ILoggerFacade and entire Prism.Logging namespace - recommended migration use Prism.Plugin.Logging or other 3rd party logging frameworks
- Added ContainerLocator ( NOTE : This replaces the Common Service Locator in Prism.Wpf)
- โ Added ContainerResolutionException to help better identify what could not be resolved. This includes a
GetErrors
method to help dig in and identify why a type failed to be resolved - ๐ DelegateCommand - Added support for PropertyChanged events that pass string.Empty
- โ Added
Await
extension to execute callbacks when working inside of a void method without needing to useasync void
- โ Added overload for IEventAggregator to provide filter
Prism.Forms - Notable Changes
- ๐ Fixed bug with Dialog Service where Dialog would appear behind a Modal page
- โจ Enhancement with Dialog Service. The Dialog Service now adds a Modal page with a transparent background to prevent user interaction with Navigation Bars on the NavigationPage, TabbedPage, or MasterDetailPage. This also fixes issues related to the reparenting of content that some people experienced
- Consolidated IPlatformNavigationService with INavigationService
- โ Removed Xamarin.Forms DependencyResolver support
- INavigationService is now a Scoped service. A new Scope will be set each time the PageNavigationService creates a new page. This allows Prism to reuse the same instance of the NavigationService for your ViewModel, the XAML Navigation Extensions, and within Regions
- ๐ Changed IPageBehaviorFactory - only ApplyPageBehaviors is exposed, all other methods have been moved to protected virtual methods in PageBehaviorFactory
- โ Added Navigation Error Handler that can be called without using
async void
this allows you to specify a delegate that should be called to handle the exception encountered. - โ Removed IAutoInitialize - recommended migration use Prism.Magician on Sponsor Connect
- โ Remove AutoRegisterForNavigation - recommended migration use the much more powerful Prism.Magician on Sponsor Connect
- ๐ NEW FEATURE - Region support for Prism.Forms is HERE!!!
Prism.Wpf - Notable Changes
- โ Removed Legacy Bootstrapper
- โ Added new PrismBootstrapper that follows the PrismApplication pattern for those apps that cannot use PrismApplication
- BEHAVIOR CHANGE : ViewModelLocator is now Opt-Out not Opt-In. The ViewModelLocator.AutowireViewModel will automatically be set to true if the DataContext is null and the property has not been set.
- โ Added XAML ContainerProvider to help resolve types in XAML
- ๐ Fixed CurrentEntry for views not in Journal
- โ Added support for multiple dialog windows
- โก๏ธ Updated to netcoreapp3.1
- โ Added generic overloads for RegisterMappings
- โ Added RegisterViewWithRegion generic method
๐ Changes:
- ๐ 3fc5286 Merge pull request #2217 from PrismLibrary/uno-vml
- 9cedce4 normalize VML Autowire property name
- a342a38 fix working directory
- 7bab4ed put Uno assemblies in Uno directory
- ๐ฆ 28bac21 prevent duplication of NuGet package artifacts
- โก๏ธ 75db987 update package feed info
- โ 06aab3f use latest nuget
- ๐ 10c492a Merge pull request #2215 from cabauman/docs/xml-comments
- ๐ 0eb6d70 Add XML Docs to various interfaces and classes
- ๐ฆ 9ad0c69 Merge pull request #2194 from PrismLibrary/centralpackages ๐ See More
- ๐ 3b93818 deploy to Sponsor Connect
- ๐ฆ defb416 specify CentralPackageVersions in the global.json
- ๐ 2889307 remove build targets
- โ e0f45df wasm test fixes
- ๐ 5c5d28a path fixes
- โก๏ธ 1f08f40 dependency updates
- 077f1c5 ensure proper .net core version is installed
- 9cae2a8 add dependabot
- โก๏ธ b232bbe update UI Build settings
- ๐ฆ 4b172d0 use central package versioning
- ๐ fe087bb Merge pull request #2214 from PrismLibrary/remove-auto-stuff
- ๐ b4ff238 fixed e2e app
- ๐ faad634 removed auto initialize for nav parameters
- ๐ 868fcfc Merge pull request #2213 from PrismLibrary/remove-auto-stuff
- โก๏ธ 6e3fbc9 updated solution to remove mockapp
- ๐ 833c11d fixed e2e app using the auto register attribute
- ๐ 28008c7 removed autoregister feature
- 7a3d2fa added discussions link
- 41c74c4 added sponsor action
- ๐ 5ddd97b Merge pull request #2208 from PrismLibrary/housekeeping/fix-codeformatting
- โก๏ธ 4da8e8a Automated dotnet-format update
- ca46320 add daily format action
- ๐ 2bf255d Merge pull request #2205 from PrismLibrary/xcode-fixes
- 0b9feaa provide xcode override method
- ๐ be743c2 Merge pull request #2207 from ryoasai/Issue-2206
- ๐ e3a0a96 Merge branch 'Issue-2206' of https://github.com/ryoasai/Prism into Issue-2206
- 0๏ธโฃ cd8bc0a Ensure transient reuse irrespective of default reuse setting.
- 0๏ธโฃ 6dbcd01 Ensure transient reuse irrespectiveof default reuse setting.
- ๐ 66e5b93 Merge pull request #2202 from PrismLibrary/issue-2196
- ๐ ad6a286 fixed propertychanged with empty string
- ๐ 2617907 Merge pull request #2195 from PrismLibrary/unity
- ๐ 6e030ec remove dual registration hack
- โก๏ธ 44d200c Merge pull request #2192 from PrismLibrary/autowire-update
- 8d7ebad add Prism.Forms.Regions nuget links
- ๐ a65ae44 remove DebugType from Prism.Core
- โก๏ธ e2c119b update sdks
- ๐ฆ e8e2bb8 add missing Prism.Forms.Regions package description
- ee373eb Prevent AutowireViewModel if BindingContext has been set
- 1203c29 [fix]: check DataContext to prevent creating the ViewModel twice
- ๐ 2f81418 Merge pull request #2191 from PrismLibrary/dialog-improvements
- 6526c6e added more overrides
- 24b8b15 dialog service improvements
- ๐ 763982e Merge pull request #2185 from pavinan/patch-1
- ๐ b48e9f9 Fixed Twitter URLs.
- โก๏ธ e4ee8b8 Update README.md
- ๐ 4049b3e Merge pull request #2181 from PrismLibrary/transparent-modal
- 3edc501 fix iOS modal transparency
- ๐ 6daceb0 Merge pull request #2180 from PrismLibrary/module-manager
- โ 75256c0 add tests for the ModuleManager Extensions
- 413ca57 add ModuleInfo collection to IModuleManager
- ๐ 5a06d41 Merge pull request #2178 from PrismLibrary/remove-lagcy-bootstrappers
- โ 59d1eba fixing test - change in underlying DryIoc API reference
- 44de606 fix moq resolution with DryIocContainerExtension
- ๐ 88b90b9 removed legacy bootstrapper
- ๐ d5cb510 Merge pull request #2176 from PrismLibrary/remove-logger
- โ f1bf6ca add missing shared test project
- ๐ 48c2533 fixing xml docs
- ๐ 86510aa remove ILoggerFacade
- ๐ 463d18a Merge pull request #2175 from PrismLibrary/xaml-catalog
- ๐ c200a23 Merge pull request #2174 from Reapism/patch-1
- ๐ 3c45cd0 comment out post build task
- โช 760e306 reverted .net core target version
- โ 3fee86e added tests and fixed backwards compatibility for old file path
- ๐ 20e0cb8 fixed xcopy command to run on the build server
- โ b3016d8 added some tests
- ๐ 061d078 removed old API for creating xaml catalogs
- 382e691 renamed xaml module catalog
- 6efa943 implemented new XamlResourceCatalog
- 6f3f297 Fix some formatting and comments.
- ๐ 7b614ec Merge pull request #2173 from PrismLibrary/remove-platform-di
- ๐ 23527f7 Merge pull request #2172 from PrismLibrary/platformnavigation
- ๐ 43a3cbb remove DependencyResolver test
- โก๏ธ a4fe2aa link updates
- โก๏ธ 086d30c update deprecated Icon to use IconImageSource
- ๐ 0b1ac68 removes the dependency resolver from PrismApplication
- ๐ 818495b merge IPlatformNavigationService into INavigationService
- ๐ 1a355be Remove ILoggerFacade from PageNavigationService
- ๐ 522799b Merge pull request #2171 from PrismLibrary/vml-opt-out
- ๐ 30a5b5b remove debug code
- c31d9d8 make viewmodellocator opt-out
- ๐ 43d1545 Merge pull request #2169 from PrismLibrary/transparent-modals
- โก๏ธ 05e9a73 updating tests
- 0ca6e0e use modal page
- ๐ d1646c3 Merge pull request #2168 from PrismLibrary/region-fixes
- ๐ฆ 591bdb0 remove GitHub packages
- 92283bd use base region
- ๐ b83ffd4 change to RegisterForRegionNavigation - fixes #2166
- ๐ฆ d9f8368 Merge pull request #2165 from PrismLibrary/package-descriptions
- โก๏ธ 9fa8493 update package descriptions
- ๐ 804739e Merge pull request #2077 from PrismLibrary/wip-regions
- 09ecf4a hold back CollectionView Adapter
- 3726ad1 fix LayoutView bindings
- 468f1ff simplifying Carousel Item Binding
- โก๏ธ 614a038 Merge pull request #2164 from ebariche/dev/eb/update-to-uno-3
- โก๏ธ cb93dd9 Update to Uno 3.0
- โก๏ธ e995276 updates and fixes for Carousels and registration
- โก๏ธ bc2fadb Registration updates
- ๐ 829475b Merge pull request #2163 from Algorithman/DirectoryModuleCatalogSpelling
- ๐ 29167bc Fixed spelling error: GetNotAlreadyLoadedModuleInfos
- 493b91f handle null RegionManager on Region
- โก๏ธ c5729b7 build updates
- โก๏ธ 2317805 Update Region Module demos
- โก๏ธ 46f38e4 update module registrations
- 8d2b2eb implementing adapters
- 9525981 use delegate registration for Region Adapter Mappings & Behaviors
- 16e376a fixing sln file
- ๐ b70f870 remove support for Partial Views
- c1fa5dd delay region created and tracking of INavigationService
- 3c3460c Fixing lifecycle so Region created once fully parented to the Page
- ed97ba9 fixing sln file
- 099f27e adding Prism.Forms.Regions to main solution
- 17c3225 getting Region Navigation working
- 2d793b9 adding Region Module to E2E app
- dc59903 fixing Module State
- โก๏ธ 75e8db4 update to Xamarin.Forms 4.5
- 34863fa cross-plat sharing and region manager implementation
- b023dd6 wip regions
- ๐ 59cc94b Merge pull request #2147 from Jesus805/master
- ๐ 4906e5f Merge pull request #2143 from PrismLibrary/lifo
- โ 01f629a adding test suite for containers
- 6c5344e allow multiple registrations with Last In First Out
- โก๏ธ c71957a updated readme with pluralsight links
- โก๏ธ 8bcca7c Update SelectorItemsSourceSyncBehavior.cs
- ๐ 4eeacaf Merge pull request #2146 from Jesus805/master
- ๐ 6d44a1e XML Documentation for Dryloc.Wpf, Unity.Wpf and Prism.Core
- ๐ 10365d5 Merge pull request #2145 from Jesus805/master
- ๐ 302d93d Removed extra to
- ec3fad3 space
- d9a0853 Added XML comments to IDialogParameters
- ๐ 88f69bc Fixed some spelling mistakes in ParametersBase
- ๐ b2be9cc Merge pull request #2067 from Jesus805/master
- ๐ 695606b Merge pull request #2069 from gayaK/master
- 750a914 add Prism.Templates issue link
- ๐ 6e7a514 Removed duplicate catalog documentation parameter
- efe9497 Changed IModuleCatalogExtensions comment
- ๐ a4c0bf0 Add documentation to various classes in Prism.Wpf
- ๐ 6964272 Added Documentation to PrismApplication
- ๐ 41f7cd8 Added Documentation to IModuleCatalogExtensions
- ๐ ebf8724 Added documentation to MVVMHelpers
- ๐ 03cdfaa Merge pull request #2139 from unoplatform/dev/jela/uno-fix-ios
- โช a2a956e ci: Reduce nuget restore logging level to normal
- 65f6cf2 fix(uno): Fix iOS e2e is not starting properly
- ๐ 00834e9 Merge pull request #2138 from MikelThief/MikelThief-readme-patch
- ๐ฆ 34c94c5 Fix link to Uno Nuget package
- 83e8865 Merge pull request #2122 from bmarinov/feature/use_recommended_dryioc_cfg_method
- ๐ a7ae9d9 Merge pull request #2136 from janschreier/NameCorrection
- ๐ 2c7765b Merge pull request #2133 from PrismLibrary/sourcelink
- 1b8a823 Renamed IDestructibleRegionBehavior to DestructibleRegionBehavior
- ๐ b64d6ac simplify deterministic build
- ๐ 21322cd move packing logic into src folder
- ๐ a7908b7 remove deprecated test
- ๐ 00edb25 bump sdk to 3.1.300 for build prop fixes
- โ a8f19f2 use boots for latest stable sdks
- โก๏ธ a66981e sourcelink and deterministic build updates
- ๐ฆ 09abd76 embed License in package
- ๐ฆ 8ab8773 publish symbols packages
- ๐ 7d5360f removed IMasterDetailPageOptions from sample
- ๐ง 7519bd9 Replace deprecated dryioc configuration method call
- 7b0e6d6 call Xamarin.Forms Init
- โก๏ธ 6d8ee46 Merge pull request #2113 from unoplatform/dev/jela/playstore-update
- โก๏ธ 5d9a418 test: Adjust for updated android SDK Android-28 emulator name
- ๐ 6244391 Merge pull request #2110 from PrismLibrary/scopednavigation
- โ 0374fcb all disable UI Tests
- 2a69d55 ensure the PrismApplication is created before we set a main page
- 6544370 fixing issue with DryIoc injecting a Page to IPageAware
- โช 165e697 let Xamarin.Forms restore transitively
- โก๏ธ 34f5f76 update test dependencies
- โก๏ธ 87c793b update Unity.Container
- ac6b487 adding shared container
- 2896142 fixing Scoped Navigation
- 5c33d8c scope navigation
- ๐ 527faaf Merge pull request #2103 from rssllgrrtt/Adding-Device.InvokeOnMainThreadAsync-to-DeviceService-#2043
- ๐ 1b7218c Removed view centric hooks from DeviceService
- ๐ b6faee2 Merge pull request #2108 from unoplatform/dev/jela/uwp-fix
- ๐ ca30a61 Merge pull request #2105 from d3fkn1ght/xmlDocs2
- cb7620b Fix ContainerProviderExtensionFixture
- โก๏ธ a27288e Updated TargetFrameworks, updated to XF 4.6.0.726 and added support for additional methods and properties from the Device class.
- ๐ e06a353 fix(uno): Fix Windows initialization sequence
- 3ee01c9 fix: Adjust xml comment in DryIocContainerExtension
- ๐ ee6a519 Merge pull request #2107 from PrismLibrary/issue-2106
- 227ea29 using the ContainerLocator as the VML resolver.
- ๐ง 845f263 Revert "fixed ConfigureViewModelLocator"
- ๐ง 4dd403b fixed ConfigureViewModelLocator
- 72f1a35 Added documenation for:
- ba493ca wrap ctors
- 24945db setup containers for container extensions
- โก๏ธ 581c3f5 Updated to latest Xamarin.Forms (4.5.0.657) and mapped to new Device.InvokeOnMainThreadAsync methods
- ๐ 876e930 Remove ContainerProviderExtension from UnoPlatform
- ๐จ e8622d6 Refactoring unit test codes
- ๐ 5c14ec4 Merge remote-tracking branch 'remotes/prism/master'
- โ 6270fbe Add unit test for ContainerProviderExtension
- fff8023 Add XmlnsDefinition of Prism.Ioc namespace.
- ๐ 27487ef Fix documentation comment for ContainerProviderExtension.cs
- 94155bb Added a "BeginInvokeOnMainThreadAsync" method to "IDeviceService"
- ๐ 8597347 Merge pull request #2101 from unoplatform/dev/jela/uwp-fix
- ๐ d243376 Merge pull request #2100 from unoplatform/dev/jela/android-test-optional
- be92542 fix(uno-uwp): Disable library layout generation
- ๐ 6bba1a5 fix(uno-e2e): Disable build fail on android UI tests failure
- ๐ 7e4e92a fixing bad docs
- ๐ 076a7cf Merge pull request #2073 from WaldemarCoding/master
- 722c45a changes requested by dan
- ๐ 631660a Merge pull request #2075 from d3fkn1ght/xmlDocs1
- 22d8eda implement dans comments
- bb2efd3 Solved CS1591 in INavigationParamters[Internal].cs
- e0e865e Missed one
- 3d48ffc Resolved some CS1573,1591
- ๐ df64def Merge pull request #2097 from PrismLibrary/prismapplication-tests
- โก๏ธ e91dc8a Update ParametersBase.cs
- โ 3c983f9 added tests for PrismApplicationBase
- ๐ 2f077f9 Merge pull request #2096 from PrismLibrary/bootstrapper-tests
- ๐ 43f7f5b Merge pull request #2086 from PrismLibrary/containerextensions
- โ 95d1c2a disable randomly failing test
- โ 6cd9106 Added test to validate required types were registered
- โ 2036140 adding tests for Container Registrations
- ๐ 82325a9 Merge pull request #2084 from PrismLibrary/task-extensions
- โ 5f55d28 added unit tests
- 82b6bca added Task extensions for async/void tasks
- ๐ 130ed2a Merge pull request #2094 from unoplatform/dev/jela/uwp-adjust
- f26ee78 fixing file location
- ๐ 507652f fix(WinUI): Remove explicit dependency on CommonServiceLocator
- fa2fd01 fix(Uno): Adjust Prism.Uno UWP library layout
- โ a99eeed adding tests for ContainerResolutionException
- โ 439bc9d fixing mocked test
- 0๏ธโฃ 70ba338 adding DefaultRules to DryIocContainerExtension
- 936e3df implementing registration overloads
- 14b1cc0 adding ContainerResolutionException #2078
- 4d898d4 adding CreateScope
- ๐ 0cb5b2e remove extra space
- ๐ 9f75d1a Merge pull request #2089 from PrismLibrary/autoregister
- 460c0b8 fixing uno rebase
- โ 2f4b0f5 fixing issues with parallel tests
- โ 9bdc2ea adding tests for AutoRegisterForNavigation - fixes #2088
- ๐ 66a24a9 Merge pull request #2092 from PrismLibrary/bootstrapper-tests
- โ 94b4462 Added unit tests for new PrismBootstrapperBase
- ๐ 05c82a2 Merge pull request #2091 from lv1il0s/master
- ๐ฆ 2c434c0 Move reference to Xamarin.Forms.Mocks to nuget/packageReference
- ๐ 291d1fe Merge pull request #2090 from unoplatform/dev/jela/uitests-adjust
- ๐ b0dcdee fix(uno): Use set-runtime step to set the mono version used on macOS builds
- โ 017ed03 fix: Adjust Dialog test to use the default dialog
- โช e072949 fix: Restore default test context to WebAssembly
๐ This list of changes was auto generated.
-
v8.0.0.1850 Changes
August 25, 2020Description
๐ This is the Prism 8 Release Candidate! There are lots of changes including some major breaks as noted by the major version bump. Many of the obsolete API's in Prism 7 have now been removed in Prism 8.
๐ฅ BREAKING
- โก๏ธ The entire Prism.Logging namespace has been removed. This will present a number of binary breaks including with popular libraries like Prism.Plugin.Popups. You may need to wait for v8 compatible packages to be produced before updating.
- ๐ The Legacy Container specific Bootstrapper's in Prism.Wpf have been removed. You will need to migrate to the new PrismBootstrapper or PrismApplication
Highlights
- ๐ Prism.Uno... Introducing Prism for Uno / WinUI. Note that if you are building a straight WinUI/UWP app there is no dependency on Uno even though you will need to install the Prism.Uno packages.
- ๐ More robust Container Abstractions now allow registering Factory / Delegate methods, and support for Scoped Lifetimes
- โ Added ContainerResolutionException that can help you to diagnose exactly what caused the error
- โ Removed CommonServiceLocator from Prism.Wpf
- โก๏ธ Updates to Xamarin.Forms 4.6 - Adds InvokeOnMainThreadAsync methods to IDeviceService
- โ Adds Async helpers to avoid
async void
without blocking the UI Thread - Adds brand new Prism.Forms.Regions package to bring classic Regions support to Xamarin.Forms projects. NOTE It'll be a while before we get docs for this. In the mean time, look at the WPF docs on Regions as the API is ALMOST entirely the same. You can also look at the E2E app for Forms in the Prism repo
- โก๏ธ Updates to Xamarin.Forms 4.8
- ๐ Changed the Behavior of the Prism.Forms DialogService. We no longer reparent the content of the currently visible ContentPage. We now use a Modal Page with newly added support for transparent Modal Page backgrounds from Xamarin.Forms
- ๐ Changed the definition of IModuleManager and added several helper methods to make it even easier to manage and load your Modules
- โก๏ธ Updated Prism.Forms INavigationService with method calls/extensions that were previously on the now removed IPlatformNavigation
- ๐ Support for automatic resolution and injection Func<T>, Lazy<T>, and IEnumerable<T>
- Made the ViewModelLocator.AutowireViewModel property Opt-Out rather than Opt-In for WPF & Uno Platform
- โ Removed the DependencyResolver integration with Xamarin.Forms
๐ Changes:
- ๐ 4049b3e Merge pull request #2181 from PrismLibrary/transparent-modal
- 3edc501 fix iOS modal transparency
- ๐ 6daceb0 Merge pull request #2180 from PrismLibrary/module-manager
- โ 75256c0 add tests for the ModuleManager Extensions
- 413ca57 add ModuleInfo collection to IModuleManager
- ๐ 5a06d41 Merge pull request #2178 from PrismLibrary/remove-lagcy-bootstrappers
- โ 59d1eba fixing test - change in underlying DryIoc API reference
- 44de606 fix moq resolution with DryIocContainerExtension
- ๐ 88b90b9 removed legacy bootstrapper
- ๐ d5cb510 Merge pull request #2176 from PrismLibrary/remove-logger ๐ See More
- โ f1bf6ca add missing shared test project
- ๐ 48c2533 fixing xml docs
- ๐ 86510aa remove ILoggerFacade
- ๐ 463d18a Merge pull request #2175 from PrismLibrary/xaml-catalog
- ๐ c200a23 Merge pull request #2174 from Reapism/patch-1
- ๐ 3c45cd0 comment out post build task
- โช 760e306 reverted .net core target version
- โ 3fee86e added tests and fixed backwards compatibility for old file path
- ๐ 20e0cb8 fixed xcopy command to run on the build server
- โ b3016d8 added some tests
- ๐ 061d078 removed old API for creating xaml catalogs
- 382e691 renamed xaml module catalog
- 6efa943 implemented new XamlResourceCatalog
- 6f3f297 Fix some formatting and comments.
- ๐ 7b614ec Merge pull request #2173 from PrismLibrary/remove-platform-di
- ๐ 23527f7 Merge pull request #2172 from PrismLibrary/platformnavigation
- ๐ 43a3cbb remove DependencyResolver test
- โก๏ธ a4fe2aa link updates
- โก๏ธ 086d30c update deprecated Icon to use IconImageSource
- ๐ 0b1ac68 removes the dependency resolver from PrismApplication
- ๐ 818495b merge IPlatformNavigationService into INavigationService
- ๐ 1a355be Remove ILoggerFacade from PageNavigationService
- ๐ 522799b Merge pull request #2171 from PrismLibrary/vml-opt-out
- ๐ 30a5b5b remove debug code
- c31d9d8 make viewmodellocator opt-out
- ๐ 43d1545 Merge pull request #2169 from PrismLibrary/transparent-modals
- โก๏ธ 05e9a73 updating tests
- 0ca6e0e use modal page
- ๐ d1646c3 Merge pull request #2168 from PrismLibrary/region-fixes
- ๐ฆ 591bdb0 remove GitHub packages
- 92283bd use base region
- ๐ b83ffd4 change to RegisterForRegionNavigation - fixes #2166
- ๐ฆ d9f8368 Merge pull request #2165 from PrismLibrary/package-descriptions
- โก๏ธ 9fa8493 update package descriptions
- ๐ 804739e Merge pull request #2077 from PrismLibrary/wip-regions
- 09ecf4a hold back CollectionView Adapter
- 3726ad1 fix LayoutView bindings
- 468f1ff simplifying Carousel Item Binding
- โก๏ธ 614a038 Merge pull request #2164 from ebariche/dev/eb/update-to-uno-3
- โก๏ธ cb93dd9 Update to Uno 3.0
- โก๏ธ e995276 updates and fixes for Carousels and registration
- โก๏ธ bc2fadb Registration updates
- ๐ 829475b Merge pull request #2163 from Algorithman/DirectoryModuleCatalogSpelling
- ๐ 29167bc Fixed spelling error: GetNotAlreadyLoadedModuleInfos
- 493b91f handle null RegionManager on Region
- โก๏ธ c5729b7 build updates
- โก๏ธ 2317805 Update Region Module demos
- โก๏ธ 46f38e4 update module registrations
- 8d2b2eb implementing adapters
- 9525981 use delegate registration for Region Adapter Mappings & Behaviors
- 16e376a fixing sln file
- ๐ b70f870 remove support for Partial Views
- c1fa5dd delay region created and tracking of INavigationService
- 3c3460c Fixing lifecycle so Region created once fully parented to the Page
- ed97ba9 fixing sln file
- 099f27e adding Prism.Forms.Regions to main solution
- 17c3225 getting Region Navigation working
- 2d793b9 adding Region Module to E2E app
- dc59903 fixing Module State
- โก๏ธ 75e8db4 update to Xamarin.Forms 4.5
- 34863fa cross-plat sharing and region manager implementation
- b023dd6 wip regions
- ๐ 59cc94b Merge pull request #2147 from Jesus805/master
- ๐ 4906e5f Merge pull request #2143 from PrismLibrary/lifo
- โ 01f629a adding test suite for containers
- 6c5344e allow multiple registrations with Last In First Out
- โก๏ธ c71957a updated readme with pluralsight links
- โก๏ธ 8bcca7c Update SelectorItemsSourceSyncBehavior.cs
- ๐ 4eeacaf Merge pull request #2146 from Jesus805/master
- ๐ 6d44a1e XML Documentation for Dryloc.Wpf, Unity.Wpf and Prism.Core
- ๐ 10365d5 Merge pull request #2145 from Jesus805/master
- ๐ 302d93d Removed extra to
- ec3fad3 space
- d9a0853 Added XML comments to IDialogParameters
- ๐ 88f69bc Fixed some spelling mistakes in ParametersBase
- ๐ b2be9cc Merge pull request #2067 from Jesus805/master
- ๐ 695606b Merge pull request #2069 from gayaK/master
- 750a914 add Prism.Templates issue link
- ๐ 6e7a514 Removed duplicate catalog documentation parameter
- efe9497 Changed IModuleCatalogExtensions comment
- ๐ a4c0bf0 Add documentation to various classes in Prism.Wpf
- ๐ 6964272 Added Documentation to PrismApplication
- ๐ 41f7cd8 Added Documentation to IModuleCatalogExtensions
- ๐ ebf8724 Added documentation to MVVMHelpers
- ๐ 03cdfaa Merge pull request #2139 from unoplatform/dev/jela/uno-fix-ios
- โช a2a956e ci: Reduce nuget restore logging level to normal
- 65f6cf2 fix(uno): Fix iOS e2e is not starting properly
- ๐ 00834e9 Merge pull request #2138 from MikelThief/MikelThief-readme-patch
- ๐ฆ 34c94c5 Fix link to Uno Nuget package
- 83e8865 Merge pull request #2122 from bmarinov/feature/use_recommended_dryioc_cfg_method
- ๐ a7ae9d9 Merge pull request #2136 from janschreier/NameCorrection
- ๐ 2c7765b Merge pull request #2133 from PrismLibrary/sourcelink
- 1b8a823 Renamed IDestructibleRegionBehavior to DestructibleRegionBehavior
- ๐ b64d6ac simplify deterministic build
- ๐ 21322cd move packing logic into src folder
- ๐ a7908b7 remove deprecated test
- ๐ 00edb25 bump sdk to 3.1.300 for build prop fixes
- โ a8f19f2 use boots for latest stable sdks
- โก๏ธ a66981e sourcelink and deterministic build updates
- ๐ฆ 09abd76 embed License in package
- ๐ฆ 8ab8773 publish symbols packages
- ๐ 7d5360f removed IMasterDetailPageOptions from sample
- ๐ง 7519bd9 Replace deprecated dryioc configuration method call
- 7b0e6d6 call Xamarin.Forms Init
- โก๏ธ 6d8ee46 Merge pull request #2113 from unoplatform/dev/jela/playstore-update
- โก๏ธ 5d9a418 test: Adjust for updated android SDK Android-28 emulator name
- ๐ 6244391 Merge pull request #2110 from PrismLibrary/scopednavigation
- โ 0374fcb all disable UI Tests
- 2a69d55 ensure the PrismApplication is created before we set a main page
- 6544370 fixing issue with DryIoc injecting a Page to IPageAware
- โช 165e697 let Xamarin.Forms restore transitively
- โก๏ธ 34f5f76 update test dependencies
- โก๏ธ 87c793b update Unity.Container
- ac6b487 adding shared container
- 2896142 fixing Scoped Navigation
- 5c33d8c scope navigation
- ๐ 527faaf Merge pull request #2103 from rssllgrrtt/Adding-Device.InvokeOnMainThreadAsync-to-DeviceService-#2043
- ๐ 1b7218c Removed view centric hooks from DeviceService
- ๐ b6faee2 Merge pull request #2108 from unoplatform/dev/jela/uwp-fix
- ๐ ca30a61 Merge pull request #2105 from d3fkn1ght/xmlDocs2
- cb7620b Fix ContainerProviderExtensionFixture
- โก๏ธ a27288e Updated TargetFrameworks, updated to XF 4.6.0.726 and added support for additional methods and properties from the Device class.
- ๐ e06a353 fix(uno): Fix Windows initialization sequence
- 3ee01c9 fix: Adjust xml comment in DryIocContainerExtension
- ๐ ee6a519 Merge pull request #2107 from PrismLibrary/issue-2106
- 227ea29 using the ContainerLocator as the VML resolver.
- ๐ง 845f263 Revert "fixed ConfigureViewModelLocator"
- ๐ง 4dd403b fixed ConfigureViewModelLocator
- 72f1a35 Added documenation for:
- ba493ca wrap ctors
- 24945db setup containers for container extensions
- โก๏ธ 581c3f5 Updated to latest Xamarin.Forms (4.5.0.657) and mapped to new Device.InvokeOnMainThreadAsync methods
- ๐ 876e930 Remove ContainerProviderExtension from UnoPlatform
- ๐จ e8622d6 Refactoring unit test codes
- ๐ 5c14ec4 Merge remote-tracking branch 'remotes/prism/master'
- โ 6270fbe Add unit test for ContainerProviderExtension
- fff8023 Add XmlnsDefinition of Prism.Ioc namespace.
- ๐ 27487ef Fix documentation comment for ContainerProviderExtension.cs
- 94155bb Added a "BeginInvokeOnMainThreadAsync" method to "IDeviceService"
- ๐ 8597347 Merge pull request #2101 from unoplatform/dev/jela/uwp-fix
- ๐ d243376 Merge pull request #2100 from unoplatform/dev/jela/android-test-optional
- be92542 fix(uno-uwp): Disable library layout generation
- ๐ 6bba1a5 fix(uno-e2e): Disable build fail on android UI tests failure
- ๐ 7e4e92a fixing bad docs
- ๐ 076a7cf Merge pull request #2073 from WaldemarCoding/master
- 722c45a changes requested by dan
- ๐ 631660a Merge pull request #2075 from d3fkn1ght/xmlDocs1
- 22d8eda implement dans comments
- bb2efd3 Solved CS1591 in INavigationParamters[Internal].cs
- e0e865e Missed one
- 3d48ffc Resolved some CS1573,1591
- ๐ df64def Merge pull request #2097 from PrismLibrary/prismapplication-tests
- โก๏ธ e91dc8a Update ParametersBase.cs
- โ 3c983f9 added tests for PrismApplicationBase
- ๐ 2f077f9 Merge pull request #2096 from PrismLibrary/bootstrapper-tests
- ๐ 43f7f5b Merge pull request #2086 from PrismLibrary/containerextensions
- โ 95d1c2a disable randomly failing test
- โ 6cd9106 Added test to validate required types were registered
- โ 2036140 adding tests for Container Registrations
- ๐ 82325a9 Merge pull request #2084 from PrismLibrary/task-extensions
- โ 5f55d28 added unit tests
- 82b6bca added Task extensions for async/void tasks
- ๐ 130ed2a Merge pull request #2094 from unoplatform/dev/jela/uwp-adjust
- f26ee78 fixing file location
- ๐ 507652f fix(WinUI): Remove explicit dependency on CommonServiceLocator
- fa2fd01 fix(Uno): Adjust Prism.Uno UWP library layout
- โ a99eeed adding tests for ContainerResolutionException
- โ 439bc9d fixing mocked test
- 0๏ธโฃ 70ba338 adding DefaultRules to DryIocContainerExtension
- 936e3df implementing registration overloads
- 14b1cc0 adding ContainerResolutionException #2078
- 4d898d4 adding CreateScope
- ๐ 0cb5b2e remove extra space
- ๐ 9f75d1a Merge pull request #2089 from PrismLibrary/autoregister
- 460c0b8 fixing uno rebase
- โ 2f4b0f5 fixing issues with parallel tests
- โ 9bdc2ea adding tests for AutoRegisterForNavigation - fixes #2088
- ๐ 66a24a9 Merge pull request #2092 from PrismLibrary/bootstrapper-tests
- โ 94b4462 Added unit tests for new PrismBootstrapperBase
- ๐ 05c82a2 Merge pull request #2091 from lv1il0s/master
- ๐ฆ 2c434c0 Move reference to Xamarin.Forms.Mocks to nuget/packageReference
- ๐ 291d1fe Merge pull request #2090 from unoplatform/dev/jela/uitests-adjust
- ๐ b0dcdee fix(uno): Use set-runtime step to set the mono version used on macOS builds
- โ 017ed03 fix: Adjust Dialog test to use the default dialog
- โช e072949 fix: Restore default test context to WebAssembly
- ๐ 1d4a962 Merge pull request #2054 from unoplatform/dev/jela/upstream-merge
- ๐ d8e47c2 Remove unused Dialog from Uno e2e sample
- โก๏ธ a418c7e Update uno libraries to make UWP use conditional to Windows host
- 3c916c3 Align Uno PrismAppliationBase with common PrismInitializationExtensions
- f85446c Use HasBinding for Wpf/Uno in place of BindingOperations.GetBinding
- 0๏ธโฃ a63b29f Add Uno Default implementation for IDialogWindow
- ๐ 359f3fb Move Uno Suspending to PrismApplicationBase
- 19d0cb5 Use Forms modularity for Uno implementation
- โก๏ธ efa56f2 Update Uno sample to include a module
- ๐ cb57f7e Add Uno support for InvokeCommandAction
- โช eb82da6 restore modularity imports
- โ 073790c Enable Uno Wasm UI Testing
- ed292e8 Enable easier net48 cross-targeting
- ๐ c109f91 Add support for Uno Platform and WinUI
- 032fd5e fixing E2E status badges
- ๐จ 47dc850 Merge pull request #2085 from PrismLibrary/parameter-refactor
- ๐จ b14cac8 refactored parameter classes to use ParametersBase class
- ๐ edefb5a Merge pull request #2081 from EdwardBlair/2080
- bc32e36 TIL: template donesn't have an enabled property
- ๐ e99fcf1 Remove whacky predicate logic and use enabled property
- โก๏ธ dfd9693 Update ParameterExtension.cs
- โก๏ธ 13ea1df Update ErrorsContainer.cs
- โก๏ธ ae08e5f Update IDestructible.cs
- โก๏ธ 0f05a87 Update ErrorsContainer.cs
- โก๏ธ a1139fd Update ErrorsContainer.cs
- โก๏ธ 7b5d73e Update ParametersExtensions.cs
- โก๏ธ 46fb645 Update ParametersBase.cs
- โก๏ธ 13fbbfe Update ParameterExtension.cs
- 1f1a9d9 Actually they do look prettier this way
- 7f381cd Fix csproj paths
- โ fec2a83 use dotnet test powershell task instead of VSTest
- โ 0269c98 Re-collate Prism.Forms tests
- ba3d1cd Prettify names
- 4427f76 Missing colons
- e59d568 Attempt at #2080
- ๐ 4a109d6 Merge pull request #2074 from PrismLibrary/bootstrapper-api
- ๐จ 80949a7 refactored duplicate code
- 241930c added some more comments
- 8f9423a small improvements
- โก๏ธ 21266d6 Updated sample to be cross "app/bootstrapper" compatible
- eba083e Added new PrismBootstrapper API
- ๐ af4811b Merge pull request #2063 from d3fkn1ght/documentation
- โก๏ธ f92701b Update ParametersBase.cs
- โก๏ธ c9d0ef4 Update ParametersBase.cs
- โก๏ธ aad61dd Update ParametersBase.cs
- 7bded0f Add ContainerProviderExtension
- ๐ 8b24d8c Merge pull request #2065 from Jesus805/master
- โก๏ธ bc39433 Update ParametersBase.cs
- โช 646cf1c Reverted IDialogResult and DialogResult comments
- 09c154f Forgot a single period
- ๐ 122e410 Added Documentation for Dialogs [#2064 ]
- โก๏ธ 1d817a7 Update IModuleInfoGroup.cs
- โก๏ธ c5f9a38 Update IModuleInfo.cs
- โก๏ธ 79c6211 Update IModuleInfo.cs
- โก๏ธ 534891b Update IModuleInfo.cs
๐ This list of changes was auto generated.
-
v8.0.0.1740 Changes
May 05, 2020Description
๐ This is the initial Prism 8 Preview! There are lots of changes including some major breaks as noted by the major version bump. Many of the obsolete API's in Prism 7 have now been removed in Prism 8.
Highlights
- ๐ Prism.Uno... Introducing Prism for Uno / WinUI. Note that if you are building a straight WinUI/UWP app there is no dependency on Uno even though you will need to install the Prism.Uno packages.
- ๐ More robust Container Abstractions now allow registering Factory / Delegate methods, and support for Scoped Lifetimes
- โ Added ContainerResolutionException that can help you to diagnose exactly what caused the error
- โ Removed CommonServiceLocator from Prism.Wpf
- โก๏ธ Updates to Xamarin.Forms 4.6 - Adds InvokeOnMainThreadAsync methods to IDeviceService
- โ Adds Async helpers to avoid
async void
without blocking the UI Thread
๐ Changes:
- ๐ 6244391 Merge pull request #2110 from PrismLibrary/scopednavigation
- โ 0374fcb all disable UI Tests
- 2a69d55 ensure the PrismApplication is created before we set a main page
- 6544370 fixing issue with DryIoc injecting a Page to IPageAware
- โช 165e697 let Xamarin.Forms restore transitively
- โก๏ธ 34f5f76 update test dependencies
- โก๏ธ 87c793b update Unity.Container
- ac6b487 adding shared container
- 2896142 fixing Scoped Navigation
- 5c33d8c scope navigation ๐ See More
- ๐ 527faaf Merge pull request #2103 from rssllgrrtt/Adding-Device.InvokeOnMainThreadAsync-to-DeviceService-#2043
- ๐ 1b7218c Removed view centric hooks from DeviceService
- ๐ b6faee2 Merge pull request #2108 from unoplatform/dev/jela/uwp-fix
- ๐ ca30a61 Merge pull request #2105 from d3fkn1ght/xmlDocs2
- โก๏ธ a27288e Updated TargetFrameworks, updated to XF 4.6.0.726 and added support for additional methods and properties from the Device class.
- ๐ e06a353 fix(uno): Fix Windows initialization sequence
- 3ee01c9 fix: Adjust xml comment in DryIocContainerExtension
- ๐ ee6a519 Merge pull request #2107 from PrismLibrary/issue-2106
- 227ea29 using the ContainerLocator as the VML resolver.
- ๐ง 845f263 Revert "fixed ConfigureViewModelLocator"
- ๐ง 4dd403b fixed ConfigureViewModelLocator
- 72f1a35 Added documenation for:
- ba493ca wrap ctors
- 24945db setup containers for container extensions
- โก๏ธ 581c3f5 Updated to latest Xamarin.Forms (4.5.0.657) and mapped to new Device.InvokeOnMainThreadAsync methods
- 94155bb Added a "BeginInvokeOnMainThreadAsync" method to "IDeviceService"
- ๐ 8597347 Merge pull request #2101 from unoplatform/dev/jela/uwp-fix
- ๐ d243376 Merge pull request #2100 from unoplatform/dev/jela/android-test-optional
- be92542 fix(uno-uwp): Disable library layout generation
- ๐ 6bba1a5 fix(uno-e2e): Disable build fail on android UI tests failure
- ๐ 7e4e92a fixing bad docs
- ๐ 076a7cf Merge pull request #2073 from WaldemarCoding/master
- 722c45a changes requested by dan
- ๐ 631660a Merge pull request #2075 from d3fkn1ght/xmlDocs1
- 22d8eda implement dans comments
- bb2efd3 Solved CS1591 in INavigationParamters[Internal].cs
- e0e865e Missed one
- 3d48ffc Resolved some CS1573,1591
- ๐ df64def Merge pull request #2097 from PrismLibrary/prismapplication-tests
- โก๏ธ e91dc8a Update ParametersBase.cs
- โ 3c983f9 added tests for PrismApplicationBase
- ๐ 2f077f9 Merge pull request #2096 from PrismLibrary/bootstrapper-tests
- ๐ 43f7f5b Merge pull request #2086 from PrismLibrary/containerextensions
- โ 95d1c2a disable randomly failing test
- โ 6cd9106 Added test to validate required types were registered
- โ 2036140 adding tests for Container Registrations
- ๐ 82325a9 Merge pull request #2084 from PrismLibrary/task-extensions
- โ 5f55d28 added unit tests
- 82b6bca added Task extensions for async/void tasks
- ๐ 130ed2a Merge pull request #2094 from unoplatform/dev/jela/uwp-adjust
- f26ee78 fixing file location
- ๐ 507652f fix(WinUI): Remove explicit dependency on CommonServiceLocator
- fa2fd01 fix(Uno): Adjust Prism.Uno UWP library layout
- โ a99eeed adding tests for ContainerResolutionException
- โ 439bc9d fixing mocked test
- 0๏ธโฃ 70ba338 adding DefaultRules to DryIocContainerExtension
- 936e3df implementing registration overloads
- 14b1cc0 adding ContainerResolutionException #2078
- 4d898d4 adding CreateScope
- ๐ 0cb5b2e remove extra space
- ๐ 9f75d1a Merge pull request #2089 from PrismLibrary/autoregister
- 460c0b8 fixing uno rebase
- โ 2f4b0f5 fixing issues with parallel tests
- โ 9bdc2ea adding tests for AutoRegisterForNavigation - fixes #2088
- ๐ 66a24a9 Merge pull request #2092 from PrismLibrary/bootstrapper-tests
- โ 94b4462 Added unit tests for new PrismBootstrapperBase
- ๐ 05c82a2 Merge pull request #2091 from lv1il0s/master
- ๐ฆ 2c434c0 Move reference to Xamarin.Forms.Mocks to nuget/packageReference
- ๐ 291d1fe Merge pull request #2090 from unoplatform/dev/jela/uitests-adjust
- ๐ b0dcdee fix(uno): Use set-runtime step to set the mono version used on macOS builds
- โ 017ed03 fix: Adjust Dialog test to use the default dialog
- โช e072949 fix: Restore default test context to WebAssembly
- ๐ 1d4a962 Merge pull request #2054 from unoplatform/dev/jela/upstream-merge
- ๐ d8e47c2 Remove unused Dialog from Uno e2e sample
- โก๏ธ a418c7e Update uno libraries to make UWP use conditional to Windows host
- 3c916c3 Align Uno PrismAppliationBase with common PrismInitializationExtensions
- f85446c Use HasBinding for Wpf/Uno in place of BindingOperations.GetBinding
- 0๏ธโฃ a63b29f Add Uno Default implementation for IDialogWindow
- ๐ 359f3fb Move Uno Suspending to PrismApplicationBase
- 19d0cb5 Use Forms modularity for Uno implementation
- โก๏ธ efa56f2 Update Uno sample to include a module
- ๐ cb57f7e Add Uno support for InvokeCommandAction
- โช eb82da6 restore modularity imports
- โ 073790c Enable Uno Wasm UI Testing
- ed292e8 Enable easier net48 cross-targeting
- ๐ c109f91 Add support for Uno Platform and WinUI
- 032fd5e fixing E2E status badges
- ๐จ 47dc850 Merge pull request #2085 from PrismLibrary/parameter-refactor
- ๐จ b14cac8 refactored parameter classes to use ParametersBase class
- ๐ edefb5a Merge pull request #2081 from EdwardBlair/2080
- bc32e36 TIL: template donesn't have an enabled property
- ๐ e99fcf1 Remove whacky predicate logic and use enabled property
- โก๏ธ dfd9693 Update ParameterExtension.cs
- โก๏ธ 13ea1df Update ErrorsContainer.cs
- โก๏ธ ae08e5f Update IDestructible.cs
- โก๏ธ 0f05a87 Update ErrorsContainer.cs
- โก๏ธ a1139fd Update ErrorsContainer.cs
- โก๏ธ 7b5d73e Update ParametersExtensions.cs
- โก๏ธ 46fb645 Update ParametersBase.cs
- โก๏ธ 13fbbfe Update ParameterExtension.cs
- 1f1a9d9 Actually they do look prettier this way
- 7f381cd Fix csproj paths
- โ fec2a83 use dotnet test powershell task instead of VSTest
- โ 0269c98 Re-collate Prism.Forms tests
- ba3d1cd Prettify names
- 4427f76 Missing colons
- e59d568 Attempt at #2080
- ๐ 4a109d6 Merge pull request #2074 from PrismLibrary/bootstrapper-api
- ๐จ 80949a7 refactored duplicate code
- 241930c added some more comments
- 8f9423a small improvements
- โก๏ธ 21266d6 Updated sample to be cross "app/bootstrapper" compatible
- eba083e Added new PrismBootstrapper API
- ๐ af4811b Merge pull request #2063 from d3fkn1ght/documentation
- โก๏ธ f92701b Update ParametersBase.cs
- โก๏ธ c9d0ef4 Update ParametersBase.cs
- โก๏ธ aad61dd Update ParametersBase.cs
- ๐ 8b24d8c Merge pull request #2065 from Jesus805/master
- โก๏ธ bc39433 Update ParametersBase.cs
- โช 646cf1c Reverted IDialogResult and DialogResult comments
- 09c154f Forgot a single period
- ๐ 122e410 Added Documentation for Dialogs [#2064 ]
- โก๏ธ 1d817a7 Update IModuleInfoGroup.cs
- โก๏ธ c5f9a38 Update IModuleInfo.cs
- โก๏ธ 79c6211 Update IModuleInfo.cs
- โก๏ธ 534891b Update IModuleInfo.cs
- โก๏ธ d23846c Update IModuleInfo.cs
- โก๏ธ cb32be0 Update IModuleInfo.cs
- โก๏ธ b58f275 Update ParametersBase.cs
- โก๏ธ 0c9d30c Update ParametersBase.cs
- โก๏ธ 8f045c2 Update ParametersBase.cs
- โก๏ธ e0e889f Update ParametersBase.cs
- โก๏ธ e4a525a Update ParametersBase.cs
- โ 2eb175e Fixed some CS1572, 1573, 1574 and 1591 warnings
- ๐ 07997a6 Merge pull request #2060 from PrismLibrary/containerinfo
- 531b8df migrate to internals namespace
- 54e9c9c add ContainerInfo simplify RegionNavigationContentLoader
- bf68db3 fixing race condition
- 23eda19 fix naming
- ๐ d1a17d8 Merge pull request #2056 from PrismLibrary/containerprovider
- 5fad681 fixing names
- 4e3edcb fixing issue with GetCandidatesFromRegion
- ๐จ 1ac0d24 shared test refactorings
- ๐จ 261cedf Refactor ContainerLocator for Lazy initialization
- ๐ d9f7ebe move container extensions to shared projects
- โ 2cfa5cc sharing tests
- ๐จ 0d24b8a refactor Regions to inject IContainerExtension
- โ c0e2786 fixing tests for ContainerLocator
- d8f6dd4 removing CommonServiceLocator
- d735c5f add ContainerLocator
- ๐ 92623ef Merge pull request #2053 from PrismLibrary/ea-filter-overload
- โก๏ธ 1bcc496 update deprecated NuGet Task Installer
- c1cdd32 added overload for EA to provide filter
- ๐ 3ab9483 Merge pull request #2050 from PrismLibrary/restructure
- 658d985 fix wpf e2e app path
- โก๏ธ 822e808 update publish task
- 3569bb3 migrate wpf sandbox to e2e
- d1e03c4 fixing break with xunit assembly
- โก๏ธ c318991 build prop updates
- 5b4d78d fixing paths
- b1b8707 project restructure
- โ fd75a4a adding dialog test for Modal display
- ๐ 7aa54f5 Merge pull request #2044 from valerii-sovytskyi/patch-1
- ๐ 40881ea Merge pull request #2036 from d3fkn1ght/FirstPR
- ๐ a25ec89 Merge pull request #2022 from PrismLibrary/core31
- fb27d00 changing target framework for core3.1 changes
- eaf8145 add rollforward
- โก๏ธ a08ed4a update to netcoreapp3.1
- d078355 only sourcelink in CI
- ๐ 3d787c2 switch codesign for CI builds
- 8db8bc9 specify code sign
- โก๏ธ 9a714e0 Update DialogService to support modal pages
- โก๏ธ c7847f6 Update bug_report.md
- โก๏ธ de35df9 Update PageNavigationService.cs
- โก๏ธ e37f4a1 Update INavigationService.cs
- ๐ 294fd8b Fixed typo in xml comment
- โก๏ธ 9f73977 Added and updated comments
- โ f06761e added test for generic RegisterViewWithRegion
- ๐ 257e763 Merge pull request #2029 from PrismLibrary/issue-2026
- ee20851 added RegiserMappings generic method
- ๐ 030d31c Merge pull request #2028 from PrismLibrary/Issue-2027
- e833665 added RegisterViewWithRegion generic method
- ๐ e122c45 Merge pull request #2015 from PrismLibrary/strongname
- e4def4a enable strong name signing for Prism.DryIoc
- ๐ 1b00d1c Merge pull request #2017 from PrismLibrary/uitest
- 9e222e8 Delete ask-a-question.md
- 4b08072 Create config.yml
- 93c7fbf skip waiting for results
- aa27ba1 re-enable parameters
- โก๏ธ 109d13f update project paths
- โ 61c5a33 point at test-cloud.exe
- bee29bd set node version
- โ d733290 don't specify test-cloud.exe path
- a033413 use mac host
- b524c9f hardcoding app
- 7948f2c hardcode appName & devices
- ๐ 0d71d05 user Build ArtifactStagingDirectory
- 1b9db7c fully qualify tools path
- โ 46d6167 reference test-cloud.exe
- ๐ 984b47a seperate NuGet deploy to new stage
- ๐ d62fcc3 remove frameworkOption
- 9f56154 disable prepare
- 76b144c limit Repl to Debug
- 34eb3a7 simplifying paths
- ๐ a71a9b6 move artifacts to artifacts folder
- โก๏ธ 5ef8175 updating paths
- 8d9f829 fixing paths
- โก๏ธ 609b332 update pipeline workspace listing
- โก๏ธ 5150553 update list artifact working directory
- โก๏ธ c86fa5b update paths
- โก๏ธ 1f2fa40 update dependson
- ๐ท c5100b2 fix job name
- ๐จ e2871eb refactor uitesting
- 30ba3a5 wildcard apk
- 4be3a90 fixing bad paths because of BL
- 812285b fix solution path
- ๐ท ca6714b dependOn Sandbox Android job
- โ f73a580 adding uitest to pipeline
- โก๏ธ 9bce971 UI Test Updates
- ๐ fad2a86 Create lock.yml
- ๐ 74b5ef6 Merge pull request #2000 from PrismLibrary/behaviorfactory
- 73b4fd1 Only expose ApplyPageBehaviors
- ๐ 09f946c Merge pull request #1993 from michael-hawker/patch-1
- โก๏ธ fbb50f4 ๐ฆ Update blog link that was 404ing
- ๐ d19dfb2 Merge pull request #1992 from PrismLibrary/Issue-1982
- ๐ 568699b Merge pull request #1991 from PrismLibrary/moduleinfo
- bbf626b made methods virtual [#1982 ]
- ๐ 0a40616 support XAML Module Catalogs
- โก๏ธ 6b2a4b0 Merge pull request #1981 from PrismLibrary/sandbox-update
- 34ef1bc fixing class name
- โ 5d12469 setting up for UI Testing
- ๐ 4d986d9 use generated ReleaseNotes.md
- ๐ f99cbeb fix conditions in release notes
- ๐ 0497645 update release notes
- 2ed516a add output verbosity
- 400f4b2 removing unneeded versioning
- c9bc5b7 run dotnet publish on WPF app
- 1b4c42d fix App Center requirement for Id not Name
- ๐ 7189de5 consolidating App Center distribution with release notes
- โ 1c2ba75 adding test functionality for Modules
- โก๏ธ 9853eb3 Sandbox updates
- b6a6b98 Add labels
- cac97e8 fix artifact name
- ๐ 4ea0713 Merge pull request #1932 from PrismLibrary/sandbox
- ๐ a6b70de generate XML docs for all builds
- ๐ cc8ce0e remove binary artifacts from iOS build
- โก๏ธ f7c4f24 updating artifact copy
- 9abf826 debug output
- ๐จ 4165b01 refactoring Artifact Copy
- 84fdf3c use relative path
๐ This list of changes was auto generated.
-
v7.2.0.708 Changes
December 04, 2018๐ Special Release
This is a special preview for Microsoft Connect.
Prism.WPF
- ๐ #1544: .Net Core 3 Support
- #1601: InitializeModules() should be called even if there's no shell
Prism.Forms
- #1589: OnNavigatedFrom method is not called when changing detail on MasterDetailPage
- #1615: Add the ability to switch tabs
- #1625: Master Detail to Tab Page Navigation broken in 7.1
๐ Support for Xamarin Forms developers using 4.0 pre1 to use the new Prism namespace to access all vital Prism types from XAML
<ContentPage xmlns:prism="http://prismlibrary.com"\> <ListView> <ListView.Behaviors> <prism:EventToCommandBehavior ... /> </ListView.Behaviors> </ListView> </ContentPage>
๐ Prism.Windows
- ๐ New guidance - Merged with Template 10
-
v7.2.0.1422 Changes
November 21, 2019Prism 7.2 SR1
๐ This is a service release for Prism 7.2. This includes several small bug fixes as noted in the Change Log and changes to make conversions from query string parameters to strong types including Enums more reliable.
๐ Changes:
- ๐ a2231be Merge pull request #1953 from PrismLibrary/enum-autoinitialize
- ๐ 053eb30 Fixing Enum Support to allow setting from numeric or string
- โ 26e090c included tests for each function changed + considered enum name or value during conversion
- โ cbacc3f included tests for each function changed + considered enum name or value during conversion
- ๐ ed16196 Merge pull request #1952 from PrismLibrary/dialog-bindingcontext
- ๐ bb835e2 ensure content maintains Binding Context fixes #1948
- โก๏ธ 5201fb5 update exempt labels
- ๐ 4ad0fca Merge pull request #1951 from fredyadriano90/INavigationPageOptions-Type
- โก๏ธ b3243c8 Update INavigationPageOptions.cs ๐ See More 90828a1 Open generic pages and double tabs navigation (#1943) ๐ 543f539 Merge pull request #1945 from AmrAlSayed0/patch-1 โก๏ธ c9a11d9 Update PrismApplicationBase.cs ๐ aab10a4 Fixes NRE when app put to sleep when MainPage isn't set ๐ 178d9a8 Merge pull request #1931 from PrismLibrary/dialogServiceFixes โ b760621 Adding Unit Tests for DialogService ๐ cd42169 null handler for callback fixes #1883 ๐ 0c35b6b fixes #1894 โก๏ธ c1486f2 general updates & fixes for tooling changes that broke SDK Extras ๐ a4c131a Merge pull request #1919 from akamud/return-exception-confirm-nav ๐ป 931484e Return Navigation Exception for Navigations when ConfirmNavigation is false โ 0c0b5b2 Provide tests for ConfirmNavigation exception scenarios โก๏ธ 6a49e0e Update packages link ๐ ff8da00 Merge pull request #1868 from PrismLibrary/shelldialog ๐ dafde8a Support Shell for Dialogs fixes #1865 ๐ ef3d803 fixed #1857 ๐ This list of changes was auto generated.
-
v7.2.0.1367 Changes
July 24, 2019Summary
๐ Prism 7.2 represents some major fundamental changes. Be sure to read the release notes in full. In addition to adding several new great API's there are some major breaking changes particularly for Xamarin.Forms developers.
Prism.Core
- #1668: Expands IoC abstractions to allow checking for registered services and naming instances or singletons.
- ๐ #1680: Fixes Ambiguous match when using DelegateCommand.ObserveProperty
- #1677: Changes IContainerRegistry to provide a Fluent API
- โก๏ธ #1796: Optimize Weak DelegateReference for EventAggregator
Prism.Forms
- #1589: OnNavigatedFrom method is not called when changing detail on MasterDetailPage
- #1615: Add the ability to switch tabs
- #1625: Master Detail to Tab Page Navigation broken in 7.1
- #1683: Add navigation animation or modal navigation with XAML Navigation Extensions
- ๐จ #1663: Refactored platform navigation methods
- #1669: Allow Create/Destroy Action Sheet buttons with only a name. Allow passing tuples to Navigation Service
- #1700: Platform Specific View Registration not respected
- #1704: Make XAML Navigation Extensions inherit from BindableObject. Make properties Bindable
- #1748: [BREAKING] Make INavigatingAware Obsolete and introduce IInitialize, IInitializeAsync & IAutoInitialize
- ๐ #1754: Fully support bindings for XAML Navigation
- #1757: Add Automatic View Registration
- ๐ #1806: Removes FastExpressionCompiler for DryIoc due to iOS incompatibility
- ๐ #1814: Adding DialogService
- ๐ป #1822: Enhancing Modal Logic to reduce/eliminate need to specify modal navigation when Navigating Back. Enhances Navigation Exception Messaging with new NavigationException class
- ๐ #1842: Fixes reparenting bug for DialogService in XF 4.X on Android with Screen Reader enabled
View/ViewModel Initialization
๐ After numerous user survey's and interviews it became apparent that the intent of INavigatingAware had been become unclear and that users were actually overwhelmingly asking for a breaking change. INavigatingAware is no longer supported. For those who may be using OnNavigatingTo with INavigationAware this will be most impactful as a behavior change as INavigatingAware has been removed from INavigationAware meaning that it will no longer be called. For those who have implemented INavigatingAware directly you will see a build error. The impact should be minimal by simply renaming all instances of INavigatingAware to Initialize.
Using IAutoInitialize
0๏ธโฃ IAutoInitialize is designed for those cases where you are passing objects around. By default we do a Non-Case-Sensitive lookup between the Navigation|Dialog Parameters and the Properties in your ViewModel. If one is found we will automatically try to set the property for you.
\_navigationService.NavigateAsync("ViewB" ("title", "Hello World"), ("fooBar", "some other value"));public class ViewBViewModel : IAutoInitialize{ public string Title { get; set; } public string FooBar { get; set; } }
In the above example your ViewModel will be initialized with the values passed in the NavigationParameters or DialogParameters. If these are static variables (meaning the won't change during the lifecycle of your View/ViewModel you would not need to implement INotifyPropertyChanged for them.
public class ViewBViewModel{ [AutoInitialize(true) public string Title { get; set; } [AutoInitialize("fooBar") public string Foo { get; set; } }
๐ป In this example you'll notice that we have some slight variations where we have added NavigationParameter attributes. The attributes allow you to decorate your properties to make them Required or specify a different name that you will use in your NavigationParameters. Note that if you make a property Required and you fail to pass the parameter this will throw an Exception that you will need to check for in the NavigationResult.
Automatic View Registration
Automatic Registration can be used for either an Application or Module. Note that there is an optional Automatic property. When Automatic is set to true Prism will not look for any attributes but will simply look for any contained types that are a Page type. If there is a Page type it will automatically be registered.
[AutoRegisterForNavigation]public class App : PrismApplication{ } [AutoRegisterForNavigation(Automatic = true)]public class AwesomeModule : IModule{ }
Using the Dialog Service
โก๏ธ The Dialog Service operates by updating the current ContentPage's layout and placing a new View over the top of the existing Content, and then unwinding the changes back to it's original state. This gives the appearance of a Popup similar to what you may see when using Prism.Plugin.Popups but is driven entirely by native Xamarin.Forms.
Custom Alert Custom Dialog ๐ The Dialog Service provides for a lot of flexibility and customization to help you produce dialogs that look and feel like they belong in your app. This includes an ability to shift the position, change the mask color or provide an entire custom mask layer.
To Start you simply need to implement IDialogAware, and raise the
RequestClose
event when you are ready to close the dialog.public class DemoDialogViewModel : BindableBase, IDialogAware, IAutoInitialize{ public DemoDialogViewModel() { CloseCommand = new DelegateCommand(() =\> RequestClose(null)); } private string title = "Message"; public string Title { get =\> title; set =\> SetProperty(ref title, value); } private string message; [AutoInitialize(true)] // Makes Message parameter requiredpublic string Message { get =\> message; set =\> SetProperty(ref message, value); } public DelegateCommand CloseCommand { get; } public event Action\<IDialogParameters\> RequestClose; public bool CanCloseDialog() =\> true; public void OnDialogClosed() { Console.WriteLine("The Demo Dialog has been closed..."); } public void OnDialogOpened(IDialogParameters parameters) { // No need to do anything as IAutoInitialize will take care of what we need here... } } \<?xml version="1.0" encoding="utf-8" ?\> \<Grid xmlns="http://xamarin.com/schemas/2014/forms"xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"xmlns:prism="http://prismlibrary.com" prism:ViewModelLocator.AutowireViewModel="True" prism:DialogLayout.RelativeWidthRequest="{OnIdiom Default=0.75, Desktop=0.5}"BackgroundColor="White"x:Class="HelloWorld.Views.DemoDialog"\> \<Grid.RowDefinitions\> \<RowDefinition Height="Auto" /\> \<RowDefinition Height="Auto" /\> \<RowDefinition Height="Auto" /\> \</Grid.RowDefinitions\> \<BoxView Color="Black" /\> \<Label Text="{Binding Title}"Style="{DynamicResource TitleStyle}"Margin="20,5"TextColor="White" /\> \<Label Text="{Binding Message}"Margin="20,0,20,10" Grid.Row="1" /\> \<Button Text="Ok"Command="{Binding CloseCommand}"HorizontalOptions="Center"Margin="0,0,0,10" Grid.Row="2"/\> \</Grid\>
With your View and ViewModel created you now need to register the Dialog to use it. This can be registered in your App.xaml.cs or in a Module.
protected override void RegisterTypes(IContainerRegistry containerRegistry) { containerRegistry.RegisterDialog\<DemoDialog, DemoDialogViewModel\>(); }
Prism.WPF
- ๐ #1296: Support for IDestructilbe in WPF projects
- ๐ #1544: .Net Core 3 Support
- #1601: InitializeModules() should be called even if there's no shell
- #1676: Ambiguous match found when ObserveProperty
- ๐ #1666: A New IDialogService for WPF
- โก๏ธ #1732: Updated .NET Core 3 DirectoryModuleCatalog
- ๐ #1796: WeakDelegatesManager::RemoveListener performance
- 0๏ธโฃ #1805: Attached RegionManager to Dialog by default
- #1826: Using Enum for IDialogResult.Result
๐ A New IDialogService for WPF
๐ Currently, the only way to show any type of dialog with Prism is by using the
PopupWindowAction
in combination withSystem.Windows.Interactivity
. To be honest, I really dislike this approach. It's over complex, highly verbose, difficult to implement, and is very limited. The limitations are covered pretty well in Issue #864๐ Instead, I created a new
IDialogService
API that will replace the PopupWindowAction altogether. This service will allow developers to show any dialog they want either modal, or non-modal, and have complete control over their dialog logic.The implementation looks like this:
public interface IDialogService{ void Show(string name, IDialogParameters parameters, Action\<IDialogResult\> callback); void ShowDialog(string name, IDialogParameters parameters, Action\<IDialogResult\> callback); }
๐ The idea here is that Prism will no longer provide any built-in dialogs like Notification or Confirmation. Mainly because the Prism implementations are UGLY and will never match the styling of your beautiful WPF application. So, it's important that you are able to register your own dialogs.
Create Your Dialog View
๐ Your dialog view is a simple UserControl that can be designed anyway you please. The only requirement it has a ViewModel that implements
IDialogAware
set as it's DataContext. Preferably, it will utilize theViewModelLocator
\<UserControl x:Class="HelloWorld.Dialogs.NotificationDialog"xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"xmlns:prism="http://prismlibrary.com/" prism:ViewModelLocator.AutoWireViewModel="True"Width="300" Height="150"\> \<Grid x:Name="LayoutRoot" Margin="5"\> \<Grid.RowDefinitions\> \<RowDefinition /\> \<RowDefinition Height="Auto" /\> \</Grid.RowDefinitions\> \<TextBlock Text="{Binding Message}" HorizontalAlignment="Stretch" VerticalAlignment="Stretch" Grid.Row="0" TextWrapping="Wrap" /\> \<Button Command="{Binding CloseDialogCommand}" CommandPrameter="true" Content="OK" Width="75" Height="25" HorizontalAlignment="Right" Margin="0,10,0,0" Grid.Row="1" IsDefault="True" /\> \</Grid\> \</UserControl\>
Create Your Dialog ViewModel
Next you need a ViewModel that implements
IDialogAware
which is defined as followspublic interface IDialogAware{ bool CanCloseDialog(); void OnDialogClosed(); void OnDialogOpened(IDialogParameters parameters); string Title { get; set; } event Action\<IDialogResult\> RequestClose; }
Here is a simple example of what an
IDialogAware
ViewModel may look like.public class NotificationDialogViewModel : BindableBase, IDialogAware{ private DelegateCommand\<string\> \_closeDialogCommand; public DelegateCommand\<string\> CloseDialogCommand =\>\_closeDialogCommand ?? (\_closeDialogCommand = new DelegateCommand\<string\>(CloseDialog)); private string \_message; public string Message { get { return \_message; } set { SetProperty(ref \_message, value); } } private string \_title = "Notification"; public string Title { get { return \_title; } set { SetProperty(ref \_title, value); } } public event Action\<IDialogResult\> RequestClose; protected virtual void CloseDialog(string parameter) { ButtonResult result = ButtonResult.None; if (parameter?.ToLower() == "true") result = ButtonResult.OK; else if (parameter?.ToLower() == "false") result = ButtonResult.Cancel; RaiseRequestClose(new DialogResult(result)); } public virtual void RaiseRequestClose(IDialogResult dialogResult) { RequestClose?.Invoke(dialogResult); } public virtual bool CanCloseDialog() { return true; } public virtual void OnDialogClosed() { } public virtual void OnDialogOpened(IDialogParameters parameters) { Message = parameters.GetValue\<string\>("message"); } }
Register the Dialog
To register a dialog, you must have a View (UserControl) and a corresponding ViewModel (which must implement
IDialogAware
). In theRegisterTypes
method, simply register your dialog like you would any other service by using theIContainterRegistery.RegisterDialog
method.protected override void RegisterTypes(IContainerRegistry containerRegistry) { containerRegistry.RegisterDialog\<NotificationDialog, NotificationDialogViewModel\>(); }
Using the Dialog Service
To use the dialog service you simply ask for the service in your VM ctor.
public MainWindowViewModel(IDialogService dialogService) { \_dialogService = dialogService; }
๐ Then call either
Show
orShowDialog
providing the name of the dialog, any parameters your dialogs requires, and then handle the result via a call backprivate void ShowDialog() { var message = "This is a message that should be shown in the dialog."; //using the dialog service as-is\_dialogService.ShowDialog("NotificationDialog", new DialogParameters($"message={message}"), r =\> { if (r.Result == ButtonResult.None) Title = "Result is None"; else if (r.Result == ButtonResult.OK) Title = "Result is OK"; else if (r.Result == ButtonResult.Cancel) Title = "Result is Cancel"; elseTitle = "I Don't know what you did!?"; }); }
Simplify your Application Dialog APIs
๐ The intent of the dialog API is not to try and guess exactly what type of parameters your need for all of your dialogs, but rather to just create and show the dialogs. To simplify common dialogs in your application the guidance will be to create an extension methods to simplify your applications dialogs.
For example:
public static class DialogServiceExtensions{ public static void ShowNotification(this IDialogService dialogService, string message, Action\<IDialogResult\> callBack) { dialogService.ShowDialog("NotificationDialog", new DialogParameters($"message={message}"), callBack); } }
Then to call your Notifications use the new and improved API that you created specifically for your app.
\_dialogService.ShowNotification(message, r =\>{ if (r.Result == ButtonResult.None) Title = "Result is None"; else if (r.Result == ButtonResult.OK) Title = "Result is OK"; else if (r.Result == ButtonResult.Cancel) Title = "Result is Cancel"; elseTitle = "I Don't know what you did!?"; });
Register a Custom Dialog Window
๐ It's very common to be using a third-party control vendor such as Infragistics. In these cases, you may want to replace the standard WPF Window control that hosts the dialogs with a custom Window class such as the Infragistics XamRibbonWindow control.
In this case, just create your custom Window, and implement the
IDialogWindow
interface:public partial class MyRibbonWindow: XamRibbonWindow, IDialogWindow{ public IDialogResult Result { get; set; } โฆ. }
Then register your dialog window with the
IContainerRegistry
.protected override void RegisterTypes(IContainerRegistry containerRegistry) { containerRegistry.RegisterDialogWindow\<MyRibbonWindow\>(); }
๐ Style the DailogWindow
๐ You can control the properties of the DialogWindow by using a style via an attatched property on the Dialog UserControl
\<prism:Dialog.WindowStyle\> \<Style TargetType="Window"\> \<Setter Property="prism:Dialog.WindowStartupLocation" Value="CenterScreen" /\> \<Setter Property="ResizeMode" Value="NoResize"/\> \<Setter Property="ShowInTaskbar" Value="False"/\> \<Setter Property="SizeToContent" Value="WidthAndHeight"/\> \</Style\> \</prism:Dialog.WindowStyle\>
๐ To clarify, this is to replace the PopupWindowAction. I want to remove that mess completely from Prism
๐ Changes:
- ๐ 21b5bac Merge pull request #1846 from Thieum/patch-1
- 25f09c8 typo
- ๐ 5dbd2e2 Merge pull request #1843 from andreinitescu/PartialViewsImprovements
- โก๏ธ b200a01 Merge pull request #1842 from PrismLibrary/dialogupdates ๐ See more be326d0 fix for Android SDK bug with Azure Pipelines f141c2f fixing presentation issues & allow exclusion of Mask layer 94de081 Fix reparenting issue 2c195c2 add CloseOnBackgroundTapped property fef2e42 Partial views changes d9c170f adding assembly outputs ๐ 9221073 remove working directory ๐ 941897f Merge pull request #1829 from PrismLibrary/modal ๐ 2cfed95 fixing GitHub release โ 8695396 fixing tests for unregistered View ๐ 7b0e1a4 Enhance Modal & Exception handling. fixes #1822 f4ff482 adding SelectTabExtension 3856412 fixing returned value ๐ 355e130 remove unnecessary references ๐ b885ff5 Merge pull request #1825 from PrismLibrary/dialogservice ๐ a2b2d34 Unify Xaml Parameters for Dialogs and Navigation 6596ebf adding ParameterBase 4048484 removing dependency on NavigationParameter e811939 add ItemsSource 6fb6998 OnNavigatingTo ๐จ 75d6db5 Refactoring for better code sharing between Navigation and Dialog Parameters โฌ๏ธ fe5847b downgrade to Xamarin.Forms 3.6 for added compatibility ๐ f76990b Merge pull request #1828 from PrismLibrary/core3-directorymodulecatalog โก๏ธ 192735c Update DirectoryModuleCatalog.Core.cs 906583a add outputs for NavigationInterfaces d301c7d reset IsDialogHost property 24e54a1 add ability to provide custom mask (i.e. gradient layer) 1a49f73 fixing background tap dismissal ๐ c20beae adding DialogService fixes #1814 ๐ b4fb6c1 Merge pull request #1827 from PrismLibrary/xamlnav ๐ 8422312 Fully support bindings for Xaml Navigation fixes #1754 โก๏ธ aee7c10 Merge pull request #1826 from PrismLibrary/dialog-service-updates โก๏ธ f124ac5 Update azure-pipelines.yml โก๏ธ 33585f7 updated piplines ๐ f288e18 removed setter from title 6f59946 Using Enum for Result ๐ 1cc5f34 Merge branch 'master' into core3-directorymodulecatalog ๐ 428df87 Merge pull request #1815 from hronlukas/master ๐ 4551d9c Merge pull request #1817 from mcavigelli/documentation-fixes โก๏ธ cb41ff2 update deprecated build property 5547afc disable Forms Sandbox โก๏ธ 56994a4 update Build Badges d4a7406 ensure global.json is in Sandbox directory ๐ 6eda879 fixing sandbox build options ๐ท 80b0aaf fixing job name a1a0df6 consolidating Xamarin.Forms dependency ๐ 59a0fa4 Removed unused usings. ๐ 581e9d3 Tiny documentation fix. c036953 Typo ๐ c4fa2f0 Do not override owner in DialogService โก๏ธ 15588d0 update issue templates โก๏ธ fdf1635 Update SourceLink โก๏ธ 4f166f5 update for Multi-Stage Pipeline ๐ 4e335f8 removed RegionManager from dialogservice โก๏ธ 3367c5a update readme plugins and training f426e11 add AutoRegistrationViewNameProvider ๐ da1fe79 Merge pull request #1808 from PrismLibrary/dryioc-ios ๐ 418b52a fixes #1806 ๐ 81ea86c remove RegisterForNavigationAttribute provide handler for allowing custom logic on AutoRegistering Views โก๏ธ 792bd65 Dependency updates ๐ eccb6e3 Merge pull request #1793 from hermestobias/master โก๏ธ 381d56c Merge pull request #1807 from PrismLibrary/IDialogService-Updates 0๏ธโฃ 7f5b2e1 attached RegionManager to dialog by default 805eca4 working on .NET Core 3 module catalog ๐ 0b589ce Merge pull request #1803 from noufionline/patch-2 โก๏ธ 7c0e303 Update IDialogService.cs โฌ๏ธ ff9641a Merge pull request #1798 from PrismLibrary/unity-upgrade โก๏ธ d294912 updated Prism.Forms โก๏ธ c794528 updated Prism.WPF to altest version of Unity ๐ 2aa53df Adhere to code style guidelines โก๏ธ 886ffcf Optimize WeakDelegateReference by introducing TargetEquals, which takes 60% less time than comparing with Target if it's still alive, and makes WeakDelegate.RemoveListener take 90% less time in normal usage. ๐ d5569a5 Merge pull request #1780 from PrismLibrary/automatic-registration 5c11a75 rename registration attribute to align with the AutoLoad API as AutoRegisterForNavigation ๐ ae667e7 Merge pull request #1779 from PrismLibrary/IInitialize โก๏ธ d654987 update from OnInitialized -> Initialize โก๏ธ 3c175ab Updating DryIoc, Xamarin Forms & Test SDK ๐ 170307e Adds support for View Registration by Attribute or automatic View Registration. ๐ 2dbdd04 Implementing IInitialize fixes #1746 fixes #1748 eb49282 migrate Navigation back to Prism Forms โก๏ธ a1d383d Merge pull request #1761 from PrismLibrary/IDialogService-Updates ๐ b5a43fd fixed ninject project ๐จ c95d6cf Refactored DialogWindow attached properties โก๏ธ 2507daf Merge pull request #1749 from PrismLibrary/IDialogService-Updates โก๏ธ 273eab2 Merge branch 'master' into IDialogService-Updates ๐ 36f8d81 removed dialog VM base class 6d23d45 removing UWP ๐ 9623596 Merge pull request #1731 from bartlannoeye/Cleanup b6c9ab6 Cleanup project files ๐ c0d9ed6 Merge pull request #1730 from PrismLibrary/forms36 6e1aa89 removing netstandard1.0 c139004 moving Android DependencyResolver to PrismApplicationBase โก๏ธ a2bd997 updating Xamarin Forms and DryIoc โก๏ธ 5111104 Merge pull request #1722 from PrismLibrary/IDialogService-Updates ๐ e8effd4 removed Icon property โก๏ธ 2d68c0f Merge pull request #1721 from PrismLibrary/IDialogService-Updates a6c8e84 added RegisterDialog method without VM requirement ๐ 6494cf4 added support to control DialogWindow from style ๐ 04cc589 Merge pull request #1714 from noufionline/patch-2 โก๏ธ c14d28d Update DialogService.cs ๐ d476877 Merge pull request #1709 from PrismLibrary/WPF-IDestructible ๐ df7414c added support for IDestructible ๐ 982d21f fixing release notes ๐ a9e22df Merge pull request #1705 from PrismLibrary/fluent-containerregistry [#1677] ๐ 45f6a18 Fluent API for IContainerRegistry fixes #1677 โก๏ธ a041c7f Merge pull request #1704 from PrismLibrary/forms-updates โก๏ธ cc74034 update Xamarin.Forms dec906e make NavigationExtension bindable 336a405 removing unneeded extensions ๐ 779a290 Merge pull request #1703 from PrismLibrary/uwp-simplifications f50bcdb PrismApplication simplification ๐ 2109273 Merge pull request #1702 from PrismLibrary/PlatformSpecificViewRegistration ๐ c8f208f fixes #1700 Platform specific Views not registered โ 8e22c9f Adding tests for Idiom and Platform specific View registrations ๐ 508b5c8 Merge pull request #1685 from PrismLibrary/uwp-di ๐ 9aaec2f Merge pull request #1684 from bares43/feature/XamlNavigationAnimated ๐ fac1d29 FrameFacade DI fixes f35fd65 fixing naming โก๏ธ 2b503a2 updating Sandbox app to follow better MVVM patterns ab1b6ad simplify startup ๐ 6e81769 force use of Microsoft.NETCore.UniversalWindowsPlatform 6.1.9 due to 6.2.X being unlisted from NuGet 0๏ธโฃ fd2d1d2 call SetAsWindowContent by default ๐จ d9d8782 dependency injection refactoring of UWP bc2de79 adding named service Resolve with parameters 55d5d45 xaml nav UseModalNavigation 4caf26b xamarin forms xaml navigation animated ๐ 388d709 Merge pull request #1682 from PrismLibrary/Interactivity-Improvements 0b64623 added close dialog command to DialogViewModelBase ๐ 4403abb Merge pull request #1680 from omerfarukz/master โก๏ธ 6aa4b17 Merge pull request #1681 from PrismLibrary/buildupdates ed97ac3 simplify versioning 33c3a48 use preview1 โก๏ธ 1571d33 package updates โ 6b05672 force use of latest netcore 3 sdk ๐ e9136c3 added support for new dialog service to bootstrappers ๐ e9e27fb fixing release URL 62c3839 added obsolete attributes ๐จ be17628 did some refactoring โช ae37468 rollback MSBuild.Sdk.Extras โก๏ธ fa3eb5f update Patreon & Container notices ๐ 53de9b5 simplify build versioning ๐ e878056 set Release Url as part of build โก๏ธ 664b08c updating build resources 26c1832 Changed property observer to use property info instead of property name ๐ e7cecd0 Merge pull request #1669 from PrismLibrary/api-enhancements 6506daf adding Tuple Navigation 3c1fdb3 add Cancel/Destroy buttons that have no action ๐ b55b967 Merge pull request #1668 from PrismLibrary/iocabstractions a45d5bb Cleaning up API's 531a969 adding resolve with parameters f7e3624 Adding overloads for named instances ๐ 5afe1cd expands IoC abstractions fixes #1654 b9fb480 consolidate forms reference โก๏ธ 00acd99 package updates 9acdecd playing around with the dialog API ๐ 32781cd Merge pull request #1665 from muhaym/patch-1 ๐ e2db76a Navigate Async Documentation fix 457c725 initial attempt at a new dialog service ๐จ 7baeb32 Merge pull request #1663 from PrismLibrary/PlatformNav-Refactor ๐จ 753fe5a Refactored platform navigation methods ๐ 802ea9f Merge pull request #1662 from PrismLibrary/EventBase-Revert โช 57ad662 Reverted 9399b9d Merge pull request #1658 from Anapher/master_fixDelegateCommandTypo ๐ d627f73 Fix typo in documentation of DelegateCommand ๐ 7e18e8a Merge pull request #1653 from cr1mp/patch-1 โก๏ธ 1c2393a Update NavigationExtensionBase.cs ๐ c33241a Merge pull request #1651 from PrismLibrary/core3-sdk bf1ee21 use public preview for .NET Core 3 โก๏ธ 34e8042 Merge pull request #1650 from PrismLibrary/build-xf-update โก๏ธ db63810 build updates af7f8d8 adding missing XmlnsDefinition ๐ bee0480 Merge pull request #1643 from PrismLibrary/Bug1638-IModuleCatalog 37c23d9 registered the container extension c9b38d9 add XmlnsDefinition โก๏ธ df68a49 update Unity & SourceLink ๐ 136bb1e Merge pull request #1630 from MikelThief/master eba378f Fixing view discovery for Unity for UWP dff0050 Fixing view discovery for DryIoc for UWP โก๏ธ fd8cf68 updated WPF projects to build 9754 of core 3 ๐ 930e2b0 fixed #1625 ๐ 21cf084 Merge pull request #1617 from PrismLibrary/tabbednavigation b0ad436 eliminate poptoroot ๐จ 0f337f1 refactoring Tab Navigation to be consistent with other Navigation API's ๐ 40febb8 Merge pull request #1616 from PrismLibrary/TabSwitching 2ee14f2 added SelectTab extension method for tabbedpages ๐ 086759d Merge pull request #1609 from PrismLibrary/netcore3-support โ 871ca50 rerun failed tests โก๏ธ de6ad67 update authors โ 9b643d9 install latest .netcore 3 sdk ๐ 8600c4d added .NET Core 3 support โก๏ธ dc2ad6e updated DryIoc tests ๐ b00db55 Merge pull request #1607 from PrismLibrary/versionbump โ b4d2d18 ignore tests for deprecated Container c6e399e bump for Prism 7.2 e3f6569 removing Autofac โฌ๏ธ 0197d31 Merge pull request #1606 from PrismLibrary/upgrade-tests โ 2a5e4e6 added debug directive to test โก๏ธ cfa7c7c updated xamarin tests โ a58bdbb fixed service locator tests โก๏ธ 76ea1b6 updating more tests ๐ 2b3c91f fixed all compile errors ๐ 9e283c1 Merge pull request #1604 from bartlannoeye/master โช 1f5a0fe Revert unstable install SDK script ๐ fae5236 Merge pull request #1602 from dro123/master [#1601] dfcf1e1 Always call InitializeModules() in PrismApplicationBase even without a shell (#1601) 7b6b453 Don't crash in PrismApplicationBase.OnInitialized() if MainWindow is null ๐ 84d21aa Merge pull request #1600 from bartlannoeye/AzureDevOps4UWP 7d088c5 One letter too much f364c2b Rename install-uwp-sdk_yml.yaml to install-uwp-sdk.yaml ๐ 7c85432 Moved step yaml file in correct folder ๐ b07cdf5 Call installing UWP SDK, remove devops trigger ๐ 197898d Add the Install Windows SDK powershell script ๐ c4711a4 Merge pull request #1597 from bartlannoeye/UWPv7 ๐ 5521a0c Corrected default namespace for Prism.Unity.Windows ๐ be5c45a Removed unused usings in UWP libraries ๐ 09c4c32 Merge pull request #1594 from Windows-XAML/master 3725fda Allowing for Fluent if they want it. โก๏ธ 8314c7f Accepting update 97ec752 Correcting incorrect return type. 7c2f7a4 Correcting incorrect return type. ๐ fbb32f5 Merge pull request #1592 from PrismLibrary/Issue-1589 [#1589] ๐ 444bc5d fixed #1589 ๐ bb7365c Merge pull request #1587 from Seikilos/patch-1 ๐ 5c4e6ae Fixed myget urls ๐ ab96ab8 Merge pull request #1563 from Windows-XAML/master ๐ f555463 Returning the internface in Core, but enabling Remove() in Windows. ffe20a3 Removing ViewModelBase, I can add it to Template10.Extras db3f4c1 We're now caching the Frame.CurrentParameters in the FrameFacade so that when the user Refereshes, the operation has a reference to the parameter. 5453d90 The Gestures enum is/was redundant to the Gesture enum. ๐ 5d78bb4 Merge branch 'master' of https://github.com/Windows-XAML/Prism into cherry-branch ๐ 2dce50b Merge pull request #1 from PrismLibrary/master ๐ฒ 32fcbdd Adding some extra logging after SetAutowireViewModel(); ๐ This list of changes was auto generated.
-
v7.2.0.1347 Changes
June 11, 2019๐ Changes:
- d9c170f adding assembly outputs
- ๐ 9221073 remove working directory
- ๐ 941897f Merge pull request #1829 from PrismLibrary/modal
- ๐ 2cfed95 fixing GitHub release
- โ 8695396 fixing tests for unregistered View
- ๐ 7b0e1a4 Enhance Modal & Exception handling. fixes #1822
- f4ff482 adding SelectTabExtension
- 3856412 fixing returned value
- ๐ 355e130 remove unnecessary references
- ๐ b885ff5 Merge pull request #1825 from PrismLibrary/dialogservice ๐ See more ๐ a2b2d34 Unify Xaml Parameters for Dialogs and Navigation 6596ebf adding ParameterBase 4048484 removing dependency on NavigationParameter e811939 add ItemsSource 6fb6998 OnNavigatingTo ๐จ 75d6db5 Refactoring for better code sharing between Navigation and Dialog Parameters โฌ๏ธ fe5847b downgrade to Xamarin.Forms 3.6 for added compatibility ๐ f76990b Merge pull request #1828 from PrismLibrary/core3-directorymodulecatalog โก๏ธ 192735c Update DirectoryModuleCatalog.Core.cs 906583a add outputs for NavigationInterfaces d301c7d reset IsDialogHost property 24e54a1 add ability to provide custom mask (i.e. gradient layer) 1a49f73 fixing background tap dismissal ๐ c20beae adding DialogService fixes #1814 ๐ b4fb6c1 Merge pull request #1827 from PrismLibrary/xamlnav ๐ 8422312 Fully support bindings for Xaml Navigation fixes #1754 โก๏ธ aee7c10 Merge pull request #1826 from PrismLibrary/dialog-service-updates โก๏ธ f124ac5 Update azure-pipelines.yml โก๏ธ 33585f7 updated piplines ๐ f288e18 removed setter from title 6f59946 Using Enum for Result ๐ 1cc5f34 Merge branch 'master' into core3-directorymodulecatalog ๐ 428df87 Merge pull request #1815 from hronlukas/master ๐ 4551d9c Merge pull request #1817 from mcavigelli/documentation-fixes โก๏ธ cb41ff2 update deprecated build property 5547afc disable Forms Sandbox โก๏ธ 56994a4 update Build Badges d4a7406 ensure global.json is in Sandbox directory ๐ 6eda879 fixing sandbox build options ๐ท 80b0aaf fixing job name a1a0df6 consolidating Xamarin.Forms dependency ๐ 59a0fa4 Removed unused usings. ๐ 581e9d3 Tiny documentation fix. c036953 Typo ๐ c4fa2f0 Do not override owner in DialogService โก๏ธ 15588d0 update issue templates โก๏ธ fdf1635 Update SourceLink โก๏ธ 4f166f5 update for Multi-Stage Pipeline ๐ 4e335f8 removed RegionManager from dialogservice โก๏ธ 3367c5a update readme plugins and training f426e11 add AutoRegistrationViewNameProvider ๐ da1fe79 Merge pull request #1808 from PrismLibrary/dryioc-ios ๐ 418b52a fixes #1806 ๐ 81ea86c remove RegisterForNavigationAttribute provide handler for allowing custom logic on AutoRegistering Views โก๏ธ 792bd65 Dependency updates ๐ eccb6e3 Merge pull request #1793 from hermestobias/master โก๏ธ 381d56c Merge pull request #1807 from PrismLibrary/IDialogService-Updates 0๏ธโฃ 7f5b2e1 attached RegionManager to dialog by default 805eca4 working on .NET Core 3 module catalog ๐ 0b589ce Merge pull request #1803 from noufionline/patch-2 โก๏ธ 7c0e303 Update IDialogService.cs โฌ๏ธ ff9641a Merge pull request #1798 from PrismLibrary/unity-upgrade โก๏ธ d294912 updated Prism.Forms โก๏ธ c794528 updated Prism.WPF to altest version of Unity ๐ 2aa53df Adhere to code style guidelines โก๏ธ 886ffcf Optimize WeakDelegateReference by introducing TargetEquals, which takes 60% less time than comparing with Target if it's still alive, and makes WeakDelegate.RemoveListener take 90% less time in normal usage. ๐ d5569a5 Merge pull request #1780 from PrismLibrary/automatic-registration 5c11a75 rename registration attribute to align with the AutoLoad API as AutoRegisterForNavigation ๐ ae667e7 Merge pull request #1779 from PrismLibrary/IInitialize โก๏ธ d654987 update from OnInitialized -> Initialize โก๏ธ 3c175ab Updating DryIoc, Xamarin Forms & Test SDK ๐ 170307e Adds support for View Registration by Attribute or automatic View Registration. ๐ 2dbdd04 Implementing IInitialize fixes #1746 fixes #1748 eb49282 migrate Navigation back to Prism Forms โก๏ธ a1d383d Merge pull request #1761 from PrismLibrary/IDialogService-Updates ๐ b5a43fd fixed ninject project ๐จ c95d6cf Refactored DialogWindow attached properties โก๏ธ 2507daf Merge pull request #1749 from PrismLibrary/IDialogService-Updates โก๏ธ 273eab2 Merge branch 'master' into IDialogService-Updates ๐ 36f8d81 removed dialog VM base class 6d23d45 removing UWP ๐ 9623596 Merge pull request #1731 from bartlannoeye/Cleanup b6c9ab6 Cleanup project files ๐ c0d9ed6 Merge pull request #1730 from PrismLibrary/forms36 6e1aa89 removing netstandard1.0 c139004 moving Android DependencyResolver to PrismApplicationBase โก๏ธ a2bd997 updating Xamarin Forms and DryIoc โก๏ธ 5111104 Merge pull request #1722 from PrismLibrary/IDialogService-Updates ๐ e8effd4 removed Icon property โก๏ธ 2d68c0f Merge pull request #1721 from PrismLibrary/IDialogService-Updates a6c8e84 added RegisterDialog method without VM requirement ๐ 6494cf4 added support to control DialogWindow from style ๐ 04cc589 Merge pull request #1714 from noufionline/patch-2 โก๏ธ c14d28d Update DialogService.cs ๐ d476877 Merge pull request #1709 from PrismLibrary/WPF-IDestructible ๐ df7414c added support for IDestructible ๐ 982d21f fixing release notes ๐ a9e22df Merge pull request #1705 from PrismLibrary/fluent-containerregistry [#1677] ๐ 45f6a18 Fluent API for IContainerRegistry fixes #1677 โก๏ธ a041c7f Merge pull request #1704 from PrismLibrary/forms-updates โก๏ธ cc74034 update Xamarin.Forms dec906e make NavigationExtension bindable 336a405 removing unneeded extensions ๐ 779a290 Merge pull request #1703 from PrismLibrary/uwp-simplifications f50bcdb PrismApplication simplification ๐ 2109273 Merge pull request #1702 from PrismLibrary/PlatformSpecificViewRegistration ๐ c8f208f fixes #1700 Platform specific Views not registered โ 8e22c9f Adding tests for Idiom and Platform specific View registrations ๐ 508b5c8 Merge pull request #1685 from PrismLibrary/uwp-di ๐ 9aaec2f Merge pull request #1684 from bares43/feature/XamlNavigationAnimated ๐ fac1d29 FrameFacade DI fixes f35fd65 fixing naming โก๏ธ 2b503a2 updating Sandbox app to follow better MVVM patterns ab1b6ad simplify startup ๐ 6e81769 force use of Microsoft.NETCore.UniversalWindowsPlatform 6.1.9 due to 6.2.X being unlisted from NuGet 0๏ธโฃ fd2d1d2 call SetAsWindowContent by default ๐จ d9d8782 dependency injection refactoring of UWP bc2de79 adding named service Resolve with parameters 55d5d45 xaml nav UseModalNavigation 4caf26b xamarin forms xaml navigation animated ๐ 388d709 Merge pull request #1682 from PrismLibrary/Interactivity-Improvements 0b64623 added close dialog command to DialogViewModelBase ๐ 4403abb Merge pull request #1680 from omerfarukz/master โก๏ธ 6aa4b17 Merge pull request #1681 from PrismLibrary/buildupdates ed97ac3 simplify versioning 33c3a48 use preview1 โก๏ธ 1571d33 package updates โ 6b05672 force use of latest netcore 3 sdk ๐ e9136c3 added support for new dialog service to bootstrappers ๐ e9e27fb fixing release URL 62c3839 added obsolete attributes ๐จ be17628 did some refactoring โช ae37468 rollback MSBuild.Sdk.Extras โก๏ธ fa3eb5f update Patreon & Container notices ๐ 53de9b5 simplify build versioning ๐ e878056 set Release Url as part of build โก๏ธ 664b08c updating build resources 26c1832 Changed property observer to use property info instead of property name ๐ e7cecd0 Merge pull request #1669 from PrismLibrary/api-enhancements 6506daf adding Tuple Navigation 3c1fdb3 add Cancel/Destroy buttons that have no action ๐ b55b967 Merge pull request #1668 from PrismLibrary/iocabstractions a45d5bb Cleaning up API's 531a969 adding resolve with parameters f7e3624 Adding overloads for named instances ๐ 5afe1cd expands IoC abstractions fixes #1654 b9fb480 consolidate forms reference โก๏ธ 00acd99 package updates 9acdecd playing around with the dialog API ๐ 32781cd Merge pull request #1665 from muhaym/patch-1 ๐ e2db76a Navigate Async Documentation fix 457c725 initial attempt at a new dialog service ๐จ 7baeb32 Merge pull request #1663 from PrismLibrary/PlatformNav-Refactor ๐จ 753fe5a Refactored platform navigation methods ๐ 802ea9f Merge pull request #1662 from PrismLibrary/EventBase-Revert โช 57ad662 Reverted 9399b9d Merge pull request #1658 from Anapher/master_fixDelegateCommandTypo ๐ d627f73 Fix typo in documentation of DelegateCommand ๐ 7e18e8a Merge pull request #1653 from cr1mp/patch-1 โก๏ธ 1c2393a Update NavigationExtensionBase.cs ๐ c33241a Merge pull request #1651 from PrismLibrary/core3-sdk bf1ee21 use public preview for .NET Core 3 โก๏ธ 34e8042 Merge pull request #1650 from PrismLibrary/build-xf-update โก๏ธ db63810 build updates af7f8d8 adding missing XmlnsDefinition ๐ bee0480 Merge pull request #1643 from PrismLibrary/Bug1638-IModuleCatalog 37c23d9 registered the container extension c9b38d9 add XmlnsDefinition โก๏ธ df68a49 update Unity & SourceLink ๐ 136bb1e Merge pull request #1630 from MikelThief/master eba378f Fixing view discovery for Unity for UWP dff0050 Fixing view discovery for DryIoc for UWP โก๏ธ fd8cf68 updated WPF projects to build 9754 of core 3 ๐ 930e2b0 fixed #1625 ๐ 21cf084 Merge pull request #1617 from PrismLibrary/tabbednavigation b0ad436 eliminate poptoroot ๐จ 0f337f1 refactoring Tab Navigation to be consistent with other Navigation API's ๐ 40febb8 Merge pull request #1616 from PrismLibrary/TabSwitching 2ee14f2 added SelectTab extension method for tabbedpages ๐ 086759d Merge pull request #1609 from PrismLibrary/netcore3-support โ 871ca50 rerun failed tests โก๏ธ de6ad67 update authors โ 9b643d9 install latest .netcore 3 sdk ๐ 8600c4d added .NET Core 3 support โก๏ธ dc2ad6e updated DryIoc tests ๐ b00db55 Merge pull request #1607 from PrismLibrary/versionbump โ b4d2d18 ignore tests for deprecated Container c6e399e bump for Prism 7.2 e3f6569 removing Autofac โฌ๏ธ 0197d31 Merge pull request #1606 from PrismLibrary/upgrade-tests โ 2a5e4e6 added debug directive to test โก๏ธ cfa7c7c updated xamarin tests โ a58bdbb fixed service locator tests โก๏ธ 76ea1b6 updating more tests ๐ 2b3c91f fixed all compile errors ๐ 9e283c1 Merge pull request #1604 from bartlannoeye/master โช 1f5a0fe Revert unstable install SDK script ๐ fae5236 Merge pull request #1602 from dro123/master [#1601] dfcf1e1 Always call InitializeModules() in PrismApplicationBase even without a shell (#1601) 7b6b453 Don't crash in PrismApplicationBase.OnInitialized() if MainWindow is null ๐ 84d21aa Merge pull request #1600 from bartlannoeye/AzureDevOps4UWP 7d088c5 One letter too much f364c2b Rename install-uwp-sdk_yml.yaml to install-uwp-sdk.yaml ๐ 7c85432 Moved step yaml file in correct folder ๐ b07cdf5 Call installing UWP SDK, remove devops trigger ๐ 197898d Add the Install Windows SDK powershell script ๐ c4711a4 Merge pull request #1597 from bartlannoeye/UWPv7 ๐ 5521a0c Corrected default namespace for Prism.Unity.Windows ๐ be5c45a Removed unused usings in UWP libraries ๐ 09c4c32 Merge pull request #1594 from Windows-XAML/master 3725fda Allowing for Fluent if they want it. โก๏ธ 8314c7f Accepting update 97ec752 Correcting incorrect return type. 7c2f7a4 Correcting incorrect return type. ๐ fbb32f5 Merge pull request #1592 from PrismLibrary/Issue-1589 [#1589] ๐ 444bc5d fixed #1589 ๐ bb7365c Merge pull request #1587 from Seikilos/patch-1 ๐ 5c4e6ae Fixed myget urls ๐ ab96ab8 Merge pull request #1563 from Windows-XAML/master ๐ f555463 Returning the internface in Core, but enabling Remove() in Windows. ffe20a3 Removing ViewModelBase, I can add it to Template10.Extras db3f4c1 We're now caching the Frame.CurrentParameters in the FrameFacade so that when the user Refereshes, the operation has a reference to the parameter. 5453d90 The Gestures enum is/was redundant to the Gesture enum. ๐ 5d78bb4 Merge branch 'master' of https://github.com/Windows-XAML/Prism into cherry-branch ๐ 2dce50b Merge pull request #1 from PrismLibrary/master ๐ฒ 32fcbdd Adding some extra logging after SetAutowireViewModel(); ๐ This list of changes was auto generated.
-
v7.2.0.1233 Changes
May 16, 2019This is the 3rd public preview for Prism 7.2.
๐ This preview provides a number of bug fixes and enhancements.
Prism Core
- #1668: Expands IoC abstractions to allow checking for registered services and naming instances or singletons.
- ๐ #1680: Fixes Ambiguous match when using DelegateCommand.ObserveProperty
- #1677: Changes IContainerRegistry to provide a Fluent API
Prism.WPF
- ๐ #1296: Support for IDestructilbe in WPF projects
- ๐ #1544: .Net Core 3 Support
- #1601: InitializeModules() should be called even if there's no shell
- #1676: Ambiguous match found when ObserveProperty
- ๐ #1666: A New IDialogService for WPF
๐ A New IDialogService for WPF
๐ Currently, the only way to show any type of dialog with Prism is by using the
PopupWindowAction
in combination withSystem.Windows.Interactivity
. To be honest, I really dislike this approach. It's over complex, highly verbose, difficult to implement, and is very limited. The limitations are covered pretty well in Issue #864๐ Instead, I created a new
IDialogService
API that will replace the PopupWindowAction altogether. This service will allow developers to show any dialog they want either modal, or non-modal, and have complete control over their dialog logic.The implementation looks like this:
public interface IDialogService { void Show(string name, IDialogParameters parameters, Action<IDialogResult> callback); void ShowDialog(string name, IDialogParameters parameters, Action<IDialogResult> callback); }
๐ The idea here is that Prism will no longer provide any built-in dialogs like Notification or Confirmation. Mainly because the Prism implementations are UGLY and will never match the styling of your beautiful WPF application. So, it's important that you are able to register your own dialogs.
Create Your Dialog View
๐ Your dialog view is a simple UserContro l that can be designed anyway you please. The only requirement it has a ViewModel that implements
IDialogAware
set as it's DataContext. Preferably, it will utilize theViewModelLocator
<UserControl x:Class="HelloWorld.Dialogs.NotificationDialog" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:prism="http://prismlibrary.com/" prism:ViewModelLocator.AutoWireViewModel="True" Width="300" Height="150"> <Grid x:Name="LayoutRoot" Margin="5"> <Grid.RowDefinitions> <RowDefinition /> <RowDefinition Height="Auto" /> </Grid.RowDefinitions> <TextBlock Text="{Binding Message}" HorizontalAlignment="Stretch" VerticalAlignment="Stretch" Grid.Row="0" TextWrapping="Wrap" /> <Button Command="{Binding CloseDialogCommand}" CommandPrameter="true" Content="OK" Width="75" Height="25" HorizontalAlignment="Right" Margin="0,10,0,0" Grid.Row="1" IsDefault="True" /> </Grid> </UserControl>
Create Your Dialog ViewModel
Next you need a ViewModel that implements
IDialogAware
which is defined as followspublic interface IDialogAware { bool CanCloseDialog(); void OnDialogClosed(); void OnDialogOpened(IDialogParameters parameters); string Title { get; set; } event Action<IDialogResult> RequestClose; }
Here is a simple example of what an
IDialogAware
ViewModel may look like.public class NotificationDialogViewModel : BindableBase, IDialogAware { private DelegateCommand<string> _closeDialogCommand; public DelegateCommand<string> CloseDialogCommand => _closeDialogCommand ?? (_closeDialogCommand = new DelegateCommand<string>(CloseDialog)); private string _message; public string Message { get { return _message; } set { SetProperty(ref _message, value); } } private string _title = "Notification"; public string Title { get { return _title; } set { SetProperty(ref _title, value); } } public event Action<IDialogResult> RequestClose; protected virtual void CloseDialog(string parameter) { bool? result = null; if (parameter?.ToLower() == "true") result = true; else if (parameter?.ToLower() == "false") result = false; RaiseRequestClose(new DialogResult(result)); } public virtual void RaiseRequestClose(IDialogResult dialogResult) { RequestClose?.Invoke(dialogResult); } public virtual bool CanCloseDialog() { return true; } public virtual void OnDialogClosed() { } public virtual void OnDialogOpened(IDialogParameters parameters) { Message = parameters.GetValue<string>("message"); } }
Register the Dialog
To register a dialog, you must have a View (UserControl) and a corresponding ViewModel (which must implement
IDialogAware
). In theRegisterTypes
method, simply register your dialog like you would any other service by using theIContainterRegistery.RegisterDialog
method.protected override void RegisterTypes(IContainerRegistry containerRegistry) { containerRegistry.RegisterDialog<NotificationDialog, NotificationDialogViewModel>(); }
Using the Dialog Service
To use the dialog service you simply ask for the service in your VM ctor.
public MainWindowViewModel(IDialogService dialogService) { _dialogService = dialogService; }
๐ Then call either
Show
orShowDialog
providing the name of the dialog, any parameters your dialogs requires, and then handle the result via a call backprivate void ShowDialog() { var message = "This is a message that should be shown in the dialog."; //using the dialog service as-is _dialogService.ShowDialog("NotificationDialog", new DialogParameters($"message={message}"), r => { if (!r.Result.HasValue) Title = "Result is null"; else if (r.Result == true) Title = "Result is True"; else if (r.Result == false) Title = "Result is False"; else Title = "What the hell did you do?"; }); }
Simplify your Application Dialog APIs
๐ The intent of the dialog API is not to try and guess exactly what type of parameters your need for all of your dialogs, but rather to just create and show the dialogs. To simplify common dialogs in your application the guidance will be to create an extension methods to simplify your applications dialogs.
For example:
public static class DialogServiceEstensions { public static void ShowNotification(this IDialogService dialogService, string message, Action<IDialogResult> callBack) { dialogService.ShowDialog("NotificationDialog", new DialogParameters($"message={message}"), callBack); } }
Then to call your Notifications use the new and improved API that you created specifically for your app.
_dialogService.ShowNotification(message, r => { if (!r.Result.HasValue) Title = "Result is null"; else if (r.Result == true) Title = "Result is True"; else if (r.Result == false) Title = "Result is False"; else Title = "What the hell did you do?"; });
Register a Custom Dialog Window
๐ It's very common to be using a third-party control vendor such as Infragistics. In these cases, you may want to replace the standard WPF Window control that hosts the dialogs with a custom Window class such as the Infragistics XamRibbonWindow control.
In this case, just create your custom Window, and implement the
IDialogWindow
interface:public partial class MyRibbonWindow: XamRibbonWindow, IDialogWindow { public IDialogResult Result { get; set; } โฆ. }
Then register your dialog window with the
IContainerRegistry
.protected override void RegisterTypes(IContainerRegistry containerRegistry) { containerRegistry.RegisterDialogWindow<MyRibbonWindow>(); }
๐ Style the DailogWindow
๐ You can control the properties of the DialogWindow by using a style via an attatched property on the Dialog UserControl
<prism:Dialog.WindowStyle> <Style TargetType="Window"> <Setter Property="prism:Dialog.WindowStartupLocation" Value="CenterScreen" /> <Setter Property="ResizeMode" Value="NoResize"/> <Setter Property="ShowInTaskbar" Value="False"/> <Setter Property="SizeToContent" Value="WidthAndHeight"/> </Style> </prism:Dialog.WindowStyle>
๐ To clarify, this is to replace the PopupWindowAction. I want to remove that mess completely from Prism
Prism.Forms
- #1589: OnNavigatedFrom method is not called when changing detail on MasterDetailPage
- #1615: Add the ability to switch tabs
- #1625: Master Detail to Tab Page Navigation broken in 7.1
- #1683: Add navigation animation or modal navigation with XAML Navigation Extensions
- ๐จ #1663: Refactored platform navigation methods
- #1669: Allow Create/Destroy Action Sheet buttons with only a name. Allow passing tuples to Navigation Service
- #1700: Platform Specific View Registration not respected
- #1704: Make XAML Navigation Extensions inherit from BindableObject. Make properties Bindable
- #1748: [BREAKING] Make INavigatingAware Obsolete and introduce IInitialize, IInitializeAsync & IAutoInitialize
- #1757: Add Automatic View Registration
View/ViewModel Initialization
๐ After numerous user survey's and interviews it became apparent that the intent of INavigatingAware had been become unclear and that users were actually overwhelmingly asking for a breaking change. INavigatingAware is no longer supported. For those who may be using OnNavigatingTo with INavigationAware this will be most impactful as a behavior change as INavigatingAware has been removed from INavigationAware meaning that it will no longer be called. For those who have implemented INavigatingAware directly you will see a build error. The impact should be minimal by simply renaming all instances of INavigatingAware to Initialize.
Using IAutoInitialize
0๏ธโฃ IAutoInitialize is designed for those cases where you are passing objects around. By default we do a Non-Case-Sensitive lookup between the Navigation Parameters and the Properties in your ViewModel. If one is found we will automatically try to set the property for you.
\_navigationService.NavigateAsync("ViewB" ("title", "Hello World"), ("fooBar", "some other value"));public class ViewBViewModel : IAutoInitialize{ public string Title { get; set; } public string FooBar { get; set; } }
In the above example your ViewModel will be initialized with the values passed in the NavigationParameters. If these are static variables (meaning the won't change during the lifecycle of your View/ViewModel you would not need to implement INotifyPropertyChanged for them.
public class ViewBViewModel{ [NavigationParameter(true) public string Title { get; set; } [NavigationParameter("fooBar") public string Foo { get; set; } }
๐ป In this example you'll notice that we have some slight variations where we have added NavigationParameter attributes. The attributes allow you to decorate your properties to make them Required or specify a different name that you will use in your NavigationParameters. Note that if you make a property Required and you fail to pass the parameter this will throw an Exception that you will need to check for in the NavigationResult.
Automatic View Registration
Automatic Registration can be used for either an Application or Module. Note that there is an optional Automatic property. When Automatic is set to true Prism will not look for any attributes but will simply look for any contained types that are a Page type. If there is a Page type it will automatically be registered.
[AutoRegisterForNavigation]public class App : PrismApplication{ } [AutoRegisterForNavigation(Automatic = true)]public class AwesomeModule : Imodule{ }
In the above example when the App is initializing Prism will reflect on the assembly of the App to look for any RegisterForNavigation Attributes first at an assembly level and then at a page level.
[assembly: RegisterForNavigation(ViewType = typeof(ViewA))] [assembly: RegisterForNavigation(ViewType = typeof(ViewB), Name = "viewB")] [assembly: RegisterForNavigation(ViewType = typeof(ViewC), Name = "platformSpecific", RuntimePlatform = RuntimePlatform.Android)] [assembly: RegisterForNavigation(ViewType = typeof(ViewD), Name = "platformSpecific", RuntimePlatform = RuntimePlatform.iOS)]// OR// Registered as ViewA[RegisterForNavigation]public class ViewA : ContentPage { } [RegisterForNavigation(Name = "viewB")]public class ViewB : ContentPage { }// Ignored if no attribute exists unless Automatic Registration was enabledpublic class ViewB : ContentPage { }// Only Registered on iOS[RegisterForNavigation(RuntimePlatform = RuntimePlatform.iOS)]public class ViewD : ContentPage { }
-
v7.2.0.1038 Changes
February 20, 2019General Notes
๐ This is the 2nd public preview for Prism 7.2, and the 1st public preview of the new Prism for UWP (aka Prism.Windows). Note that the UWP API's may still be in flux prior to release.
๐ This preview provides a number of bug fixes and enhancements.
Prism Core
- ๐ #1348: Navigation Alignment - moved all navigation interfaces into Prism Core (currently hidden from WPF)
- ๐ #1476: Module Alignment - moved Exceptions, ModuleInfo, and several Modularity interfaces to Prism.Core from WPF combining with some Prism.Forms definitions.
- IModuleManager.ModuleDownloadProgressChanged (available in net45 aka WPF ONLY)
- #1505: Memory problem with EventAggregator and never published message
- โก๏ธ #1509: Module Alignment Updates: Introduce IModuleInfo
- #1511: Module Alignment
- ๐ All modularity interfaces and base & supporting types moved to Prism.Core
- IContainerRegistry now has a Fluent API. All registration methods now return IContainerRegistry to allow chaining registrations.
- IContainerRegistry has expanded API's to help with additional scenarios where you might need a named type.
- IContainerProvider has expanded API's to help resolve Types with specific instances that may be needed for resolution.
- ๐ (Forms and UWP) INavigationService now has extension methods to support the use of Tuples for NavigationParameters eliminating the need to specifically create new NavigationParameters when Navigating.
Prism.WPF
- ๐ #1544: .Net Core 3 Support
- #1601: InitializeModules() should be called even if there's no shell
- #1676: Ambiguous match found when ObserveProperty
- ๐ #1666: A New IDialogService for WPF
- ๐ Introduces a new IDialogService that will replace the PopupWindowAction altogether. This service will allow developers to show any dialog they want either modal, or non-modal, and have complete control over their dialog logic.
Prism.Forms
- #1589: OnNavigatedFrom method is not called when changing detail on MasterDetailPage
- #1615: Add the ability to switch tabs
- #1625: Master Detail to Tab Page Navigation broken in 7.1
- #1683: Xaml navigation without animation isn't working
- ๐ XAML Navigation Extensions are now Bindable. Among the benefits includes that when coupled with the new BindableLayout in Xamarin.Forms you could use this to build dynamic Menu's in XAML
- XAML Navigation now allows you to specify whether the Navigation should be Animated or Use Modal Navigation
- ๐ Fixed registration of Views by Platform
- ๐ Changed target Xamarin.Forms version from 4.0-pre1 to 3.5 SR1
-
v7.1.0 Changes
October 15, 2018General Notes
๐ In addition to the typical bug fixes Prism 7.1 brings a much more consolidated approach to developing applications. Perhaps this is most clear with Prism.Modularity now being defined entirely in the Prism.Core providing a consistent API for Prism.Forms and Prism.WPF, as well as making it available for the first time to Prism.Windows (in an upcoming preview).
Due to the major changes in where certain types are for Modularity (and Navigation for Prism.Forms), you may experience binary incompatibility issues when using libraries that target older versions of Prism.
Container Notices
โก๏ธ Going forward we will only consider support for containers that work properly for Prism. The Prism team advises all developers to update projects to use the new
PackageReference
, this will help simplify maintaining which packages you need to update by simply targeting the Prism Container package (see Unity notice).Autofac
๐ After much discussion the Prism team has decided that this will be the final release for Autofac. Modularity is a core capability for Prism, which requires the use of a Mutable container. The fact that the Autofac team has chosen to make Autofac Immutable prevents us from being able to support the use of containers.
MEF
๐ Similarly the Prism team has decided that we will no longer be shipping or supporting MEF for WPF, nor will support be added for any other platforms.
Unity
โฌ๏ธ Unity continues to be a very popular and fully supported container. For those upgrading to Prism 7.1 from Prism 6.X, note that you will need to uninstall the Unity references in your existing projects as the new maintainer for Unity has completely rearchitected the Unity Container. This included changing namespaces and changing how the library was shipped forcing the Prism Team to change the NuGet that we target from
Unity
toUnity.Container
.Prism.Core
- ๐ #1348: Navigation Alignment - moved all navigation interfaces into Prism Core (currently hidden from WPF)
- ๐ #1476: Module Alignment - moved Exceptions, ModuleInfo, and several Modularity interfaces to Prism.Core from WPF combining with some Prism.Forms definitions.
- IModuleManager.ModuleDownloadProgressChanged (available in net45 aka WPF ONLY)
- #1505: Memory problem with EventAggregator and never published message
- โก๏ธ #1509: Module Alignment Updates: Introduce IModuleInfo
- #1511: Module Alignment
- All modularity interfaces and base & supporting types moved to Prism.Core
Prism.Forms
- #1348: Navigation alignment
- Added INavigationParameters
- Added INavigationParametersInternal
- Added INavigationResult
- Convert all methods using
NavigationParameters
to use the newINavigationParameters
BREAKING - Changed
Task INavigationService.NavigateAsync
toTask<INavigationResult> INavigationService.NavigateAsync
- Changed
Task<bool> INavigationService.GoBackAsync
toTask<INavigationResult> INavigationService.GoBackAsync
BREAKING
- #1347: ContainerProvider - Allows Declaring Types in XAML that require the Container to Resolve them
- #1353: NavigationFrom not called when navigate to different Hamburger Menu Page
- #1354: INavigationAware methods are not called on children of a CarouselPage
- ๐ #1403: Remove pages from NavigationStack without pushing another one
- ๐ฅ #1414: Changed from Unity NuGet to Unity.Container BREAKING
- #1425: XAML Navigation
- #1439: DependencyResolver
- #1456: Relative back navigation does not work with INavigationParameters
- 0๏ธโฃ #1463: DryIoc Default Rules Change. By default DryIoc will attempt to resolve types based on an available constructor with resolvable types. Secondary registrations will now replace any initial registration by default.
- #1464: Unity and Autofac no longer require
INavigationService
to be namednavigationService
inside of a ViewModel. - #1469: Make Xamarin.Forms DependencyResolver Opt-In
- ๐ฅ #1476: Module Alignment BREAKING
- ModuleInfo.ModuleType has changed from
System.Type
toSystem.String
and is equal toType.AssemblyQualifiedName
- IModuleManager.LoadModuleCompleted - Forms will now invoke this event when a new module has been loaded. Note there is not currently a default handler provided by PrismApplication. This event will contain any caught exception that was thrown while attempting to load a Module.
- Moved all Modularity interfaces except IModuleCatalog to Prism.Core
- ModuleInfo.ModuleType has changed from
- #1509: Module Alignment
- Adds IModuleInfo
- ModuleInfo moved back to Prism.Forms. ModuleInfo will now return Module Dependencies when decorated with the ModuleDependencyAttribute if dependencies are not set at Registration.
- ๐ #1511: Module Alignment - All modularity interfaces and base & supporting types moved to Prism.Core
- ๐ #1519: Support Partial Views in Xamarin Forms
- #1546: MasterDetailPage navigation on iOS is unexcepted
- #1549: EventToCommandBehavior.OnEventRaised NullReferenceException
Partial Views
๐ The concept of a Partial View is to support a custom layout which may be reused across multiple pages, and eliminate ViewModel logic duplication by allowing that custom layout to rely on its own ViewModel. To use a Partial View you must set the
ViewModelLocator.AutowirePartialView
property with a reference to the containing page as shown here. You should not set theViewModelLocator.AutowireViewModel
property on the Partial View unless you are explicitly opting out as setting this property totrue
directly may result in the ViewModel being incorrectly set.\<ContentPage xmlns="http://xamarin.com/schemas/2014/forms"xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"xmlns:local="clr-namespace:AwesomeApp.Views"xmlns:prism="clr-namespace:Prism.Ioc;assembly=Prism.Forms"xmlns:mvvm="clr-namespace:Prism.Mvvm;assembly=Prism.Forms"x:Name="self"x:Class="AwesomeApp.Views.ViewA"\> \<StackLayout\> \<local:AwesomeView mvvm:ViewModelLocator.AutowirePartialView="{x:Reference self}" /\> \<Entry Text="{Binding SomeValue" /\> \</StackLayout\> \</ContentPage\>
Dependency Resolver
๐ Xamarin.Forms 3.1 introduces a new DependencyResolver. This enables applications using Dependency Injection to use their Container to resolve Platform Renderers and Effects which makes it possible to inject any services such as a logger. Since the default constructor was deprecated in Android Renderers as of Xamarin.Forms 2.5, Prism now includes a specific Android binary that enables the DependencyResolver to resolve types using
ContainerProvider
The Container Provider now allows types like ValueConverters to include Dependency Injection of Types/Services in the ctor, and allows the converter to be declared in XAML
namespace Contoso.Converters{ public class MyValueConverter : IValueConverter { private ILoggerFacade \_logger { get; } public MyValueConverter(ILoggerFacade logger) { \_logger = logger; } public object Convert(object value, Type targetType, object parameter, CultureInfo culture) { \_logger.Log("Converting value", Category.Debug, Priority.None); return value; } public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture) { \_logger.Log("Converting Value Back...", Category.Debug, Priority.None); return value; } } }
This can then be used in XAML using the ContainerProvider as follows:
\<ContentPage xmlns="http://xamarin.com/schemas/2014/forms"xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"xmlns:ioc="clr-namespace:Prism.Ioc;assembly=Prism.Forms"xmlns:converters="using:Contoso.Converters"x:Class="Contoso.Views.ViewA"\> \<ContentPage.Resources\> \<ResourceDictionary\> \<ioc:ContainerProvider x:TypeArguments="converters:MyValueConverter" x:Key="myValueConverter" /\> \</ResourceDictionary\> \</ContentPage.Resources\> \<Entry Text="{Binding Demo,Converter={StaticResource myValueConverter}}" /\> \</ContentPage\>
Navigation Improvements
**Implemented relative back behavior ("../../") **
Previously, when using the relative back feature ("../" ) you would be required to provide a page that would be pushed onto the navigation stack. That is no longer required. You may now chain together any number of relative go-back instructions to "go back".
For example:
Given your navigation stack looked like this:NavigationPage/UserList/UserDetails/LoginPage/EditUser
๐ You can now indicate how many pages to remove, or "go back" by chaining the relative go-back instruction "../".
NavigationService.NavigateAsync("../../../");
This would result in going back three pages leaving you with the following navigation stack:
NavigationPage/UserList
NOTE - The pages in the stack prior to the current page (last page in the nav stack) will be removed without calling any INavAware methods. Only the current page (EditUser in this example) would perform a proper GoBackAsync and execute the INavAware methods.
NOTE - This feature is only supported while within the context of a NavigationPage.
XAML Navigation
You can now use XAML Navigation Extensions to Navigate. This works well for scenarios where you may have a partial "MenuView" that may be reused across multiple Pages or where there may be no real reason to implement Navigation inside of a ViewModel.
\<!-- basic nav --\>\<Button Text="Go To About" Command"{prism:NavigateTo 'About'}" /\>\<!-- basic nav without animation--\>\<Button Text="Go To About" Command"{prism:NavigateTo 'About', Animated=False}" /\>\<!-- basic modal nav --\>\<Button Text="Go To About" Command"{prism:NavigateTo 'About', UseModalNavigation=True}" /\>\<!-- custom can navigate support --\>\<Button Text="Go To About" Command="{prism:NavigateTo 'About'}" prism:Navigation.CanNavigate="{Binding CanNavigate}" /\>\<!-- go to new page, but remove one along the way --\>\<Button Text="Go To Settings" Command"{prism:NavigateTo '../Settings'}" /\>\<!-- nav with VM Parameters --\>\<Button Text="Go To About" Command"{prism:NavigateTo 'About'}"CommandParameters="{Binding MyNavParams}" /\>\<!-- Go Back --\>\<Button Text="Go Back" Command="{prism:GoBack}" /\>\<!-- Go Back To Root --\>\<Button Text="Go Back To Root" Command="{prism:GoBack ToRoot}" /\>\<!-- Xaml defined parameters --\>\<Button Text="Go To About" Command="{prism:NavigateTo 'About'}" \> \<Button.CommandParameter\> \<prism:XamlNavigationParameters Parent="{x:Reference this}"\> \<prism:XamlNavigationParameter Key="MainPageViewModel" Value="{Binding .}" /\> \</prism:XamlNavigationParameters\> \</Button.CommandParameter\> \</Button\>\<!-- can navigate on a parent object--\>\<ContentView\> \<ContentView prism:Navigation.CanNavigate="False"\> \<ContentView\> \<Button Text="Cannot Navigate" Command="{prism:GoBack}" /\> \</ContentView\> \</ContentView\> \</ContentView\>
Prism.WPF
- #30: Removing from, or opting out of registration, in the IRegionNavigationJournal
- ๐ #993: RemoveAll throws if KeepAlive is false
- #1013: MEF DirectoryModuleCatalog - problem with diacritics since 6.3
- #1120: Prism.Autofac RegisterTypeForNavigation issue
- #1128: ViewModelLocator triggers in design mode
- #1161: Ninject - Prism creating new view even if view exists in region
- 0๏ธโฃ #1165: Change PopupWindowAction.CreateDefaultWindow to virtual
- ๐ฅ #1175: Upgraded to Unity 5 Breaking
- ๐ฅ #1211: Upgrade to CommonServiceLocator 2.0.1 Breaking
- #1217: Add OnInitialized methdo to bootstrapper
- #1242: AssemblyResolver - File path in FileNotFoundException
- ๐ฅ #1261: ListDictionary TKey and TValue same type Breaking
- #1264: Is it possible to provide a type safe way to read parameter
- ๐ #1321: Added support for regions targeting FrameworkContentElements
- ๐ #1327: Include correct version of System.Windows.Interactivity
- #1328: Regions attached to DependencyObject sometimes won't register
- ๐ฅ #1414: BREAKING Changed from Unity NuGet to Unity.Container
- 0๏ธโฃ #1463: DryIoc Default Rules Change. By default DryIoc will attempt to resolve types based on an available constructor with resolvable types. Secondary registrations will now replace any initial registration by default.
- ๐ฅ #1476: Module Alignment BREAKING
- Moved Exceptions to Prism.Core
- Moved ModuleInfo to Prism.Core (see #1509)
- Moved IModuleCatalogItem to Prism.Core
- Moved IModuleInitializer to Prism.Core
- Moved IModuleManager to Prism.Core
- ๐ #1479: Fixes issue that prevented Prism.Autofac apps from starting
- ๐ #1493: Fixes issue that prevented Prism.Ninject apps from starting
- #1504: Memory problem with EventAggregator and never published message
- #1509: Module Alignment
- Introduced new IModuleInterface and moved concrete implementations back to the Platform level. This fixes a break that would affect any ModuleCatalogs defined in XAML caused by changing the resolving assembly in the XML Namespace.
- #1511: Module Alignment
- All modularity interfaces and base & supporting types moved to Prism.Core
- #1543: Calling ToString() on NavigationParameters causes NullReferenceException when parameter is null.
๐ New PrismApplication Base Class
The Bootstrapper has been marked obsolete and it is recommended to use the PrimsApplication class going forward. This results in less code to get started, and an easier and more intuitive API.
๐ Note: The Bootstrapper class is not being removed, it is only marked obsolete to drive awareness of the new PrismApplication class.
โ Added new Prism.Ioc namespace to handle DI container abstractions. Interacting with the container is now done via the
IContainerProvider
and theIContainerRegistry
interfaces. TheIContainerProvider
interface is used to resolve services from the container. TheIContainerRegistry
is used to register types with the container. Access to the actual DI container can be achieved by using theGetContainer()
extension method off of theIContainerRegistry
andIContainerProvider
interfaces.