TreeListBox - Progress and Checkable Nodes Sample

by Avatar Bill Henning (Actipro) - 1 comment
Thursday, April 21, 2016 at 8:56pm

PostBannerWPFControlsDevNotes

Last month we posted that we were beginning development of a new TreeView replacement control that addressed the many shortcomings of the native WPF TreeView, and were asking for input at that time.  We've been working on this control for both WPF and UWP and have made very good progress.

Feature Progress

Thus far these features have been completed:

  • Fully customize the appearance of each node.
  • UI virtualization, allowing for hundreds of thousands of nodes to be loaded into a tree very quickly.
  • No scrollbar jumpiness as seen in other virtualized tree controls when scrolling vertically.
  • Use your own custom data models as the source for the tree, with no dependencies on UI or our interfaces.  An adapter class is used (and can be fully customized to fit your model) to communicate between the UI and the model for things like expansion state, getting children, etc.
  • The adapter can be coded with bindings in XAML (convenient, yet can be slow in very large trees) or via method overrides (slightly more work but lightning fast).
  • Events for expansion.
  • Events for selection.
  • Single or multi-selection, with Ctrl and Shift-based selection options.
  • Filter selection such as only allowing sibling nodes to be multi-selected, or nodes of the same depth.
  • All common tree hotkeys supported including special ones for expanding and collapsing entire branches.
  • Select or ensure nodes are visible by path.
  • Double-click and Return key default action handling.
  • Optional checkboxes within the data templates.
  • Intelligent text searching so when you start typing while the control has focus, it will auto-focus the item that matches the typed text.

Sample Usage

Here's a screenshot of a recent sample being put together for the control:

TreeListBoxChecking

In this sample, we have two levels of nodes.  The top-most level is folders (whose icons actually toggle with the expand/collapse state), while the inner level has checkboxes and buttons that allow for a dialog to be displayed when clicked for further configuration.

Double-clicking a folder item will toggle its expansion state, while double-clicking a checkable node will toggle its checked state.  This sample also shows usage of a DataTemplateSelector to pick which DataTemplate to use for each node.

Summary

The control is coming along really nicely and our goal is to match general features found in the VS Solution Explorer.  The features above are implemented for both WPF and UWP.  We still have more features planned before we open up a beta. 

If you have any other suggestions, please either write our support address with your feedback or join our Slack discussion on the topic and chat right with us.  The benefit of the chat option is that we are posting screenshots and asking for feature input right during development.  It gives you an opportunity to give direct feedback and help guide features.

TaskWideContactUs TaskWideChatWithUs

Actipro Blog 2016 Q1 Posting Summary

by Avatar Bill Henning (Actipro)
Tuesday, April 5, 2016 at 8:12pm

BlogSummaryBlogPostBanner

What We Accomplished

In this quarter, we completed work on the major rewrite of our popular Docking/MDI product for WPF.  The entire product was rewritten from the ground up to support next generation docking window features, all while maintaining a similar overall public API.  In the new version, floating documents become full-featured secondary dock hosts that even support docked tool windows around them.  This sort of thing is wonderful for end users with multiple monitors.  Fast subtle animations are used throughout the product to give the interface a more vibrant feel.  New layout properties and features are available that govern the size of containers (including min/max sizes), set initial floating window size, etc.  Interop content support is improved even further.  MVVM support is enhanced with many more bindable properties, default location determination for opening windows, and more.  Download the 2016.1 version to take the best WPF docking window framework for a test drive.

And best of all, we didn't just make it for WPF.  The entire product was written to be compatible with Universal Windows too!  Download our Universal Windows controls to see a beta of the same docking window framework there.

The WPF Controls 2016.1 version added the Docking/MDI features described above, along with 14 new Office 2016-like themes that use accent colors, improved window chrome rendering, Metro themes built right into the Shared library, SyntaxEditor light/dark Metro image sets, and much more.

The Universal Windows Controls 2016.1 version was our first release for that platform.  It was a port of our older WinRT/XAML Controls and included everything in those, along with the Docking/MDI beta.

Our Code Writer app also saw a new minor version, which will be the last one before a major new version for Windows 10 is released.

Finally, we have created a Slack team that enables you, our customers, to chat directly with us regarding new products and features.

What’s Coming Next

We're currently working on a custom TreeView control that will support more features than the native WPF TreeView.  Our goal is to support the rich functionality of a control like the TreeView in Visual Studio's Solution Explorer tool window.  It's being written from scratch for both WPF and Universal Windows using virtualization to keep it very speedy, and is capable of multi-selection, easy bring-into-view, etc.  If you'd like to give us feedback on what you'd like to see in a new TreeView control, now is the time to get your feedback in!  Either email our support address with your feedback or join our Slack discussion on the topic.  Slack is preferred because we are sharing screenshots there and frequently ask for comments on feature areas.  After this base control is completed, we'll move into some more new complex data presentation controls like multi-column trees.

We've started on the design of the updates for the Windows 10 version of our Code Writer app.  We've got a UI design that looks promising and is a bit of of a UWP take on popular apps like VS Code and Sublime.  We also have a Slack channel where we're discussing that, so please sign up to see where things are headed and get your feedback in.

Blog Post List

Control Product Development

Control Product Releases

Code Writer