New features and improvements
- Setup: ShellBrowser.WPF now supports .NET Core 3.1 and .NET 5.0. The assemblies are shipped as NuGet packages and will be installed in a local NuGet repository. Usage is described here.
- ShellContextMenu: Using the property "SystemStyle", the ShellContextMenu can now be transformed into a native WPF menu.
- ShellListView: Using the "FullRowSelect" property you can control if the item selection covers only the caption or if all subitems are included (default).
- ShellContextMenu: Two events "BeforeCommandExecute" and "AfterCommandExecute" were added to the ShellContextMenu: BeforeCommandExecute is called after the user has clicked an item from the shell context menu, but before the command is executed. The event may be used for intercepting and cancelling the command execution. AfterCommandExecute is called after a menu item has been processed and can be used if you need to take further action.
- ShellTreeView: Some frequently used methods have been added to the ShellTreeView: CreateDir, AddRoot, ClearRoots.
- ShellChangeNotifier: Some Windows notifications are sent more than once. To avoid problems in notification handlers, double notifications of the following types will be filtered: NotificationEvents.NetShare, NotificationEvents.NetUnshare, NotificationEvents.DriveRemove, NotificationEvents.DriveAdd, NotificationEvents.MediaInsert, NotificationEvents.FileDelete.
- General: The ShellBrowser.WPF Components no longer support Windows Vista and cannot be installed on a system below Windows 7.
- General: Fixes concerning per monitor high dpi have been incorporated. Please check the knowledge base on how to activate per Monitor V2 scaling for applications using ShellBrowser.
- ShellListView: When the user changes the view of the ShellListView via its background context menu, the changed value is reflected in the "ShellListView.ViewState" dependency property.
- ShellTreeView: A NullRefererenceException that might have occurred when deleting the folder representing a root node is now prevented.
- FilePreview: Fixed possible NullReferenceExceptions that might have occurred when previewing images.
- FilePreview: A possible ArgumentException that might have occurred when trying to preview a MHT file is now handled. Please note that the error only happened when running the previewing process from Visual Studio Debugger. Previewing still won't work in this situation, but the exception is handled.
- ShellChangeNotifier: Instead of reporting it as a "NetShare" event, the notification handler now reports the unsharing of a folder correctly as "NotificationEvents.NetUnshare".
20 October 2021
New Features and Improvements
- ShellAddressBar: There is a new component "ShellAddressBar". It resembles the address bar known from Windows Explorer, containing a section that splits the current path into "BreadCrumbs" and allows easy navigation in the file system. Optionally it contains a history and a search edit box. These panes can be turned on or off using the "VisiblePanes" property.
- FilePreview: Event "LoadPreview" has been added. It can be used to control the preview handlers used for the display of a file.
- ShellListView: Obsolete "Details" property has been removed.
- ShellFilePreview: Depending on the PreviewHandler, it is now possible to view files that do not have a physical path (e.g. files on an attached mobile phone). This works now for pdf, text and image files.
- ShellListView, ShellTreeView: Implemented the "ItemChecked" event for the ShellListView and the "NodeChecked" event for the ShellTreeView. They indicate the checking or unchecking of an element. In contrast to the "CheckStateChanged" the event is not called when a checkstate is applied indirectly or automatically applied by ShellBrowser.
- ShellListView: Date/Time columns now display values without seconds.
- ExplorerBrowser: Dropped support for “CheckMode.Checkboxes” as it is incompatible with Windows 10 Dark Mode (use “CheckMode.AutoSelect” instead).
- ShellTreeView: A new dependency property "RootedAtLocation" has been introduced, that allows you to bind the single root of a ShellTreeView to a property in your ViewModel.
- ShellListView, ShellTreeView: Now it is possible to set the "Foreground" value to a SolidColorBrush or a SystemBrush to change the font color of control.
- ShellCombo: The new "BeforePathChange" event has been introduced. It can be used to intercept path changes and cancel the navigation in process.
- ShellCombo: A new Dependency Property "HighlightColor" has been added, that allows to control the Brush of the highlighting color in the drop-down list of the control.
- ShellListView, ShellTreeView: Instead of throwing exceptions, that might be difficult to handle, errors which could occur when executing shell context menu items, are now passed in the "Error" property of the "OperationEventArgs". These are passed in the "OperationPerformed" event of a ShellTreeView or ShellListView.
- FilePreview: A visual glitch occurring with the standard Window PreviewHandler for text files has been fixed.
- ExplorerBrowser: The "SelectionChanged" event is now only triggered once when the selection changes.
- ExplorerBrowser: A fix has been introduced to cope with side-effects caused by the dark mode for Windows File Explorer, that has been introduced with Windows 10/1809. Without the fix, the ExplorerBrowser control will appear partly black and partly white, when the dark mode is activated for apps in Windows.
- ExplorerBrowser: Fixed bug when trying to access items in "C:\Users\<user>\AppData\Local\Microsoft\Windows\History".
- ShellCombo: The "Background" property now also applies to the background of the drop-down list.
- ShellListView: Drag-and-Drop of files from an attached mobile phone to a ShellList now works as expected in 32-bit applications.
- ShellListView: Folders are not affected by a set filter. In the last version, they were accidentally filtered too.
- ShellListView: Instead of remaining empty, the ShellList now displays the contents of a folder even if it is disabled.
- ShellListView: Fixed a problem that wrong or too small columns were displayed after browsing a folder on an attached mobile phone.
- ShellListView: The "New" menu item in the background context menu is now disabled in zip folders.
- ShellListView: Fixed a sorting problem when pasting files into a folder - instead of respecting the sort order, the files were alphabetically sorted between the subfolders in the same parent folder.
- ShellTreeView: The "Favorites" folder in Windows 7 is filled again instead of appearing empty.
- ShellTreeView: When selecting a path, the ShellTree now fully expands all relevant nodes, instead of just inserting nodes for this path only. The problem that sometimes the destination node appeared twice in the ShellTree was fixed.
- ShellTreeView: The "Desktop" node in the ShellTree now has a context menu too.
- ShellTreeView: If a node beneath "Quick Access" is selected, controls connected via the same ShellControlConnector instance will now display the link target of the selected node, instead of remaining in the Quick Access scope. The ShellTree keeps the selection in Quick Access if the "Expand to current folder" setting is false in Windows Explorer.
- ShellTreeView: Fixed a flickering problem that was caused by the asynchronous loading of the network node when navigating to a network path while the network node was still collapsed.
- ShellListView, ShellTreeView: The "Focus()" method is now correctly passed to the controls.
2 July 2019
New Features and Improvements
- ShellContextMenu: It is now possible to add custom menu items to a shell context menu. See example in the API help.
- ExplorerBrowser: Like in Windows Explorer, the different icon sizes and viewstates can now be adjusted using CTRL and the mouse-wheel.
- ShellListView: The "SelectionChanged" event is now called whenever the selection changes.
- ShellFilePreview: The new "AfterPreviewLoaded" event is called after the loading of a preview has finished successfully or unsuccessfully.
- ShellFilePreview: The state messages of the component can be customized using the three new properties "NoPreviewAvailableMessage", "PreviewNotPossibleMessage", and "SelectFileMessage".
- ShellListView: The columns of a ShellList in details-mode and tooltips are now filled asynchronously to avoid delays for non-reachable elements.
- ShellListView, ShellTreeView: Folders that can cause delays when being accessed (i.e. the network folder or the root of net-drives) are now filled asynchronously.
- ShellThumbnail: Using Dependency Property "StretchDirection" you can control whether thumbnails can be stretched beyond their original size or are only stretched down to fit the space (default).
- ShellThumbnail: Added Begin/EndUdpdate methods that may be used to set some properties in a row without triggering a refresh of the thumbnail for each step. The thumbnail will only be fetched again when EndUpdate has been called.
- The new "ShellFolder.AllTasks" SpecialFolder can be assigned to a ShellList or ExplorerBrowser and displays the available control panel tasks.
- The usage of "AutomaticRefresh" in the controls that support it has been optimized to avoid re-registering the watched paths on initialization.
- ShellListView, ShellTreeView: The "BeforeInvokeCommandOnSelected" event is obsolete. Please use "BeforeShellCommand" instead.
- ShellListView, ShellTreeView: The "BeforeShellCommand" should now be reliably called no matter what started a context menu operation (e.g. a key or selection from the context menu). Instead of a string, the "e.Command" parameter is now internally represented by the "ShellCommand" class. However implicit conversions prevent breaking changes. The "Caption" property of "ShellCommand" holds the localized caption of the chosen context menu item.
- ShellTreeView: Bugfix: The flickering of the ShellTree that occurred with Windows 10/1709 has been fixed.
- ShellThumbnail: On older Windows versions, some thumbnails were accidentally distorted. This has been fixed.
- ExplorerBrowser: ViewMode "Auto" now is handled correctly when defined in designer.
- ShellFilePreview/ShellThumbnail: A memory leak occurring when displaying images in the ShellFilePreview has been fixed.
- Some Files missing from the source code version are now available.
- ShellListView, ShellTreeView: Some issues concerning display and sorting of the "QuickAccess" special folder have been fixed.
- ShellListView: A custom background context menu is now displayed no matter if the "ShellContextMenu" property is true or false.
- ShellFilePreview Bugfix: A possible NullReferenceException that might have occurred on showing a preview is now prevented.
- ShellTreeView: Bugfix: There is no exception anymore when right clicking the empty space between two root nodes.
- ShellComboBox: Contents of the ShellComboBox are updated correctly when browsing folders.
- ShellComboBox, ShellAutoCompleteTextBox: Keyboard and focus handling has been improved.
- ShellContextMenu: The Win32 exception that occurs if the user cancels an operation started by some context menu item, is now handled by ShellContextMenu itself. Unexpected errors are still thrown.
- ExplorerBrowser: ThumbnailSize is now only applied if view mode is "Thumbnail".
20 August 2018
- Initial Release
15 December 2017