Releases: mysteryx93/HanumanInstitute.MvvmDialogs
v1.4 IViewLoaded, IViewClosing, IViewClosed
Version 1.4 is ready!
Handling Loading, Closing and Closed events presents a few annoyances.
Loading is a common business concern. Why would you have to write code in your View for it?
Closing is generally used to display a confirmation before exit. Calling async code from the Closing event would require complex code, both in the ViewModel and the View.
Closed cannot even call a command via an XAML behavior!
As a simple solution, you can implement IViewLoaded, IViewClosing and/or IViewClosed from your ViewModel with no code required in your View.
What's new in v1.4:
- IViewLoaded, IViewClosing and IViewClosed interfaces have been added. See documentation.
- Owner parameters are now optional, it's up to the implementation as to whether or not it is supported
- IWindow has been renamed to IView
- Fixed a bug with Fluent TaskMessageBox
v1.3.1 Polishing
Version 1.3.1 is ready!
What's new:
- File dialog filters can now take extensions with or without the dot
- FluentAvalonia TaskDialog now supports default buttons
- Open/save file framework dialog settings are now more consistent in Avalonia and WPF
v1.3 FluentAvalonia Support
Version 1.3 is ready! It has major changes to the internal design with little impact on you.
- Calls will only be dispatched if not already on UI thread
- Redesigned FrameworkDialogFactory to be simpler and more modular
- MessageBox for Avalonia is now split into a separate assembly
HanumanInstitute.MvvmDialogs.Avalonia.MessageBox
, since Avalonia doesn't have built-in support for message boxes MvvmDialogs.Avalonia
, removed reference to MessageBox.Avalonia- Added preliminary support for FluentAvalonia
HanumanInstitute.MvvmDialogs.Avalonia.Fluent
TODO:
- Support icons with Fluent MessageBox TaskDialogs
- Support more complex usage of Fluent dialogs
v1.2.3 Thread-Safety
Version 1.2.3 is ready! DialogManager is now thread-safe. This means you can now call IDialogService from background services without having to worry about UI thread access!
- DialogManager is now thread-safe, dispatching UI calls to the UI thread
- Added optional
dispatcher
parameter to DialogManager
v1.2.1 Unit Test Friendly
Version 1.2.1 is ready!
Made the library more friendly for unit tests. One area that caused trouble is the creation of the
dialog view model new MyDialogViewModel()
. If it has dependencies, you might use Locator.MyDialogViewModel
,
but then that's not unit-test friendly.
As a solution, you will now create the view model using
IDialogService.CreateViewModel<T>
.
It will call a ViewModelFactory function set in the DialogService constructor.
- Added
viewModelFactory
parameter to DialogService constructor - Moved
viewLocator
constructor parameter from DialogService to DialogManager - Updated all demos to use correct constructor parameters
- Updated all demos to use
IDialogService.CreateViewModel<T>
- Added unit test sample project:
Demo.ModalDialog.Tests
v1.2 Revamped logging with ILogger
Version 1.2 is ready!
- Logging is now done using standard
ILogger<DialogService>
interface. See doc - Revamped the whole logging mechanisms
- All demos now output logs to the Debug window
- Added
IWindow.RefObj
, which can be implemented like this for custom dialogs:public object RefObj => this;
IDialogManager.ShowFrameworkDialogAsync
now takes an extra optional parameterresultToString
to convert the result to string for logging. If null, it usesobject.ToString()
.- Bug fix:
WPF.DialogService.ShowDialog
(sync method) was not working
v1.1 No More XAML Registrations
Version 1.1 is ready!
BREAKING CHANGES
- XAML registration is no longer required and must be removed
If your convention is different than simply replacing 'ViewModel' with 'View':
- You must add a ViewLocator to your project (see doc)
- You must pass this ViewLocator to the DialogService constructor
Adopting Avalonia's ViewLocator design greatly simplifies the code and avoids duplicating the design.
- Internally, the following classes have been removed:
DialogTypeLocatorBase, DialogTypeLocatorCache, IDialogFactory, NamingConventionDialogTypeLocator, ReflectionDialogFactoryBase, ViewRegistration, DialogServiceViews, ReflectionDialogFactory
- Renamed
IDialogTypeLocator
toIViewLocator
- Removed namespace
HanumanInstitute.MvvmDialogs.DialogTypeLocators
MvvmDialogs.Avalonia
is no longer signed because dependency ReactiveUI
is not signed.
Initial Release! v1.0.0
I created this library derived from FantasticFiasco's/mvvm-dialogs
to use MVVM Dialogs with Avalonia. Here is the first official release!
See full documentation in the README.md file