mirror of https://github.com/AMT-Cheif/Stylet.git
297 lines
10 KiB
Plaintext
297 lines
10 KiB
Plaintext
Stylet Changelog
|
|
================
|
|
|
|
v1.1.22
|
|
-------
|
|
|
|
- Allow custom MessageBox views to be used (#34)
|
|
|
|
v1.1.21
|
|
-------
|
|
|
|
- Allow Window's Top and Left properties to be set via a binding (#31)
|
|
- Stylet.Start saves files as UTF-16 with BOM rather than UTF-8 without BOM (#30)
|
|
- Stylet.Start no longer attempts to uninstall itself, as NuGet has apparently broken this (#32)
|
|
|
|
v1.1.20
|
|
-------
|
|
|
|
- Fix a bug where removing a `Conductor<T>.Collections.OneActive` conductor's ActiveItem would close it, then activate and deactivate it (#27)
|
|
- Fix a bug where if a `Conductor<T>.Collections.OneActive` conductor's item was closed, it could be disposed twice (#28)
|
|
|
|
v1.1.19
|
|
-------
|
|
|
|
- Fix a bug where `Conductor<T>.Collections.OneActive` wouldn't correctly close its children after a call to `this.Items.Clear()`,
|
|
or after the conductor was closed.
|
|
|
|
v1.1.18
|
|
-------
|
|
|
|
- Conductors don't fail if a subclass changes its 'Items' collection when it's activated/deactivated
|
|
- Prevent `Conductor<T>.Collection.OneActive` from closing each of its children twice when it is closed
|
|
- Fix Screen lifecycle so that it cannot go from Closed -> Deactivated, it must go Closed -> Activated -> Deactivated
|
|
- Add a method to ValidatingModelBase to clear all validation errors (useful if you want to re-run validation from scratch)
|
|
- Fix some of the example bootstrappers
|
|
|
|
v1.1.17
|
|
-------
|
|
|
|
- StyletIoC: Dispose instance bindings when the container is disposed (configurable)
|
|
- StyletIoC: Detect basic copy constructors, and don't attempt to call them
|
|
- Add default TextAligment and FlowDirection properties to MessageBoxViewModel
|
|
|
|
v1.1.16
|
|
-------
|
|
|
|
- SetAndNotify returns a value indicating whether it raised a notification
|
|
- Fix an NRE when running validation in some cases
|
|
- Add ValidatingModelBase.RecordPropertyError to manually change property errors
|
|
- Deprecate Screen.CanClose: you should use Screen.CanCloseAsync instead
|
|
- Deprecate Screen.State, replacing it with Screen.ScreenState
|
|
|
|
v1.1.15
|
|
-------
|
|
|
|
- Fix re-entrancy issue in the EventAggregator, if you publish events from within an event handler
|
|
- Improve Stylet.Start package
|
|
|
|
v1.1.14
|
|
-------
|
|
|
|
- Fix bug where ViewManager wouldn't search multiple assemblies for Views
|
|
- ViewManager searches the assembly containing the ViewModel by default
|
|
- Throw (by default) if StyletIoC's ToAllImplementations() doesn't find any implementations
|
|
- Fix typo DesignMode sample
|
|
|
|
v1.1.13
|
|
-------
|
|
|
|
- Catch possible failure inside IconToBitmapSourceConverter
|
|
- Fix access modifier on BootstrapperBase.Launch
|
|
|
|
v1.1.12
|
|
-------
|
|
|
|
- Dispose the RootViewModel on application shutdown (if it's `IDisposable`)
|
|
- Rework how `ViewManager` configuration is handled: makes it easier to add a custom ViewManager subclass
|
|
- Fix Samples projects
|
|
|
|
v1.1.11
|
|
-------
|
|
|
|
- Allow an Initial Activate after a Close
|
|
|
|
v1.1.10
|
|
-------
|
|
|
|
- Fix `Stylet.Start`
|
|
|
|
v1.1.9
|
|
------
|
|
|
|
- Add a `Stylet.Start` NuGet package, which creates a skeleton project
|
|
- Fix samples
|
|
|
|
v1.1.8
|
|
------
|
|
|
|
- Fix bug where Actions could complain that no suitable method was found, when using `s:View.ActionTarget`
|
|
- Remove the Initial screen state. Screens are started on Deactivated
|
|
- Allow the ViewManager to be configured, including supporting Views and ViewModels in different namespaces and customizing the 'View' and 'ViewModel' suffixes
|
|
- Actions try harder to find a suitable ViewModel, in the case of things like KeyBindings and ContextMenus
|
|
- StyletIoC: Allow multiple services to be bound to the same registration (useful for having a single singleton instance used for two interfaces, for example)
|
|
|
|
v1.1.7
|
|
------
|
|
|
|
- Fix issue where OnInitialActivate may not be invoked if Screen was deactivated before being activated
|
|
- Action s:Action to be instantiated with zero parameters
|
|
- Make Stylet more modular by removing dependency on Application.Current from WindowManager, and View.ViewManager static property
|
|
|
|
v1.1.6
|
|
------
|
|
|
|
- s:Action supports a wider range of events (including KeyDown)
|
|
- Display a clearer message if the user tries to display a Window using s:View.Model
|
|
|
|
v1.1.5
|
|
------
|
|
|
|
- Improve memory usage in StyletIoC
|
|
- Avoid potential small memory leak in MessageBoxView
|
|
- Improve Stylet.Samples.Validation
|
|
|
|
v1.1.4
|
|
------
|
|
|
|
- Add support for DepencencyPropertyChangedEventHandler to Actions
|
|
- Add OnStateChanged hook to Screen
|
|
- Re-arrange ViewManager slightly to make it easier to override
|
|
- Make the MessageBox display properly with multi-line content and an icon
|
|
- WindowManager stes window title if it's the same as the window name (which is the default, set by the VS template)
|
|
- Add InverseInstance to BoolToVisibilityConverter
|
|
|
|
v1.1.3
|
|
------
|
|
|
|
- Fix issue where actions may not fire. Rare case caused by fix from v1.1.2.
|
|
|
|
v1.1.2
|
|
------
|
|
|
|
- Avoid potential memory leak caused CommandAction and EventAction using DependencyPropertyDescriptor.AddValueChanged
|
|
- StyletIoC registers IContainer with the builder by default
|
|
|
|
v1.1.1
|
|
------
|
|
|
|
- WindowManager.ShowWindow/ShowDialog won't create a new View for the ViewModel if one is already attached
|
|
- Add DisposeChildren to IConductor
|
|
- Improve error message when WindowManager.ShowWindow/ShowDialog is used to show something that isn't a Window
|
|
- Minor semantic fixes and code coverage improvements
|
|
|
|
v1.1.0
|
|
------
|
|
|
|
- Backwards-incompatible changes to Bootstrapper: Configure is now called *after* ConfigureIoC, OnStart came before ConfigureIoC, and OnLaunch now happens after Launch
|
|
- Screen now uses a property enum-based state machine to manage state. IActivate, IDeactivate and IClose have all been rolled into IScreenState
|
|
- Fix incorrect use of WeakEventManager in ScreenExtensions: ConductWith won't have been working properly
|
|
- Set WindowStartupLocation to CenterOwner if the user hasn't set it themselves
|
|
- WindowManager does not set the Title binding (to DisplayName) if it's been set by the user
|
|
- Actions throw on execute if ActionTarget hasn't changed from the default. This catches an edge-case where Actions are used inside something like a ContextMenu which breaks the visual tree
|
|
-
|
|
|
|
v1.0.7
|
|
------
|
|
|
|
- Expand IViewManager to add other useful stuff, which ViewManager did anyway
|
|
- Conductors now optionally dispose their children, and the WindowManager never does. This is to handle ViewModels which are displayed multiple times e.g. as dialogs
|
|
- Conductors now ensure new children are either activated or deactivated. This is to handle child ViewModels which may have been closed previously
|
|
- Make BootstrapperBase non-generic, instead having an abstract RootViewModel property. This makes it more flexible.
|
|
- Handle null/empty property name in ValidatingModelBase.ValidatePropertyAsync
|
|
|
|
v1.0.6
|
|
------
|
|
|
|
- Actions can handle attached events
|
|
|
|
v1.0.5
|
|
------
|
|
|
|
- Code analysis improvements (StyleCop and ReSharper)
|
|
- Work around error when showing multiple dialogs after main window has been closed
|
|
- Actions unwrap TargetInvocationException, showing the user the actual exception and stack trace
|
|
- Accept any (reasonable) event signature for event Actions, not just RoutedEventHandler
|
|
- Bootstrapper disposes its container on exit
|
|
|
|
v1.0.4
|
|
------
|
|
|
|
- Allow IModelValidator to return an IEnumerable<string> rather than a string[]
|
|
- Fix up BindableCollection to be thread-safe
|
|
- View name resolution is now a bit smarter
|
|
- Add design time support
|
|
- Add design time sample
|
|
- Add sample bootstrapper which does not use an IoC container
|
|
- Execute.OnXXX is synchronous by default in unit tests and design time: Execute.TestExecuteSynchronously has been removed
|
|
|
|
v1.0.3
|
|
------
|
|
|
|
- Remove LambdaComparer and LambdaEqualityComparer - they don't really have a place in a UI framework
|
|
- Have different default PropertyChanged and CollectionChanged dispatchers
|
|
|
|
v1.0.2
|
|
------
|
|
|
|
- Move back to separate arguments for ShowMessageBox - this is more consistent with MessageBox.Show
|
|
- ViewManager now accepts an IViewManagerConfig (implemented by BootstrapperBase), which simplifies the IoC container setup
|
|
- Add an overridable CanClose() method to screen (called by the CanCloseAsync version by default). This means screens don't have to deal with tasks if they're fully synchronous
|
|
|
|
v1.0.1
|
|
------
|
|
|
|
- Remove the IoC static service locator. It's no longer needed internally, and I don't want to encourage such bad behaviour. You can write your own easily if you need - see the docs
|
|
- Remove the static AssemblySource class, instead using a collection stored on the Bootstrapper
|
|
- Add Bootstrappers projects, with sample bootstrappers for a range of IoC containers
|
|
- Remove extension methods on IContainer, instead putting them in the interface. This means people don't have to have 'using StyletIoC' in order to see the methods they want to use
|
|
|
|
v1.0.0
|
|
------
|
|
|
|
- Logging improvements
|
|
- ViewManager improvements
|
|
- Revamp how the bootloader is added to the Application - it's a lot cleaner now
|
|
- Conductors will dispose their children if they're IDisposable
|
|
- StyletIoC updates: automatic Func registrations, refactoring, bug fixes, instance binding
|
|
|
|
v0.9.11
|
|
-------
|
|
|
|
- Add Execute.PostToUIThreadAsync
|
|
- Rename ILogger and LogManager to not conflict in projects also using NLog
|
|
|
|
v0.9.10
|
|
-------
|
|
|
|
- Add the concept of Channels to the EventAggregator
|
|
- Remove the WeakEventManager (as it was too complex), and replace with an easier to use (but less powerful) implementation
|
|
- Simplify IViewManager
|
|
- Add logging to important parts of Stylet
|
|
- Fix bug where Actions could throw exceptions when they shouldn't
|
|
|
|
v0.9.9
|
|
------
|
|
|
|
- Fix bug where Stylet would launch before resources were loaded
|
|
|
|
v0.9.8
|
|
------
|
|
|
|
- Fix bug with symbols package
|
|
|
|
v0.9.7
|
|
------
|
|
|
|
- Add ValidatingModelBase
|
|
- Increase code coverage to > 99%
|
|
- Add MessageBox implementation
|
|
- Generate XML documentation
|
|
- Misc tweaks and fixes
|
|
|
|
v0.9.6
|
|
------
|
|
|
|
- Fix bug when starting the bootloader
|
|
|
|
v0.9.5
|
|
------
|
|
|
|
- Add StyletConductorItemsControl style, for using an ItemsControl with a Conductor<T>.Collection.AllActive
|
|
- Make Execute.OnUIThread synchronous, and add BeginOnUIThread (asynchronous)
|
|
- Rename conductors. It's now Conductor<T>.Collection.xxx not Conductor<T>.Collections.xxx
|
|
|
|
v0.9.4
|
|
------
|
|
|
|
- Fix BindableCollection issues
|
|
- ActionExtension has configurable behaviour if target/action are null/not found
|
|
- ActionExtension works with things like Hyperlinks
|
|
- Misc tweaks and fixes
|
|
|
|
v0.9.3
|
|
------
|
|
|
|
- Fix bootstrapper issues
|
|
|
|
v0.9.2
|
|
------
|
|
|
|
- Remove debugging from install.ps1 which shouldn't have been there.
|
|
|
|
v0.9.1
|
|
------
|
|
|
|
Initial release
|