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

Creating an Improved WPF TreeView Control

by Avatar Bill Henning (Actipro) - 1 comment
Monday, March 14, 2016 at 8:11pm

PostBannerWPFControlsDevNotes

Anyone who has worked with the native WPF TreeView knows that its API is difficult to use (compared to the WinForms TreeView) and the performance isn't very good when binding to large large data sets.

We have started developing a completely custom implementation of a TreeView control that isn't based on the native TreeView control.  We'd love to get your input now during our design and prototyping phase on the following items:

  • What are the top 5 built-in features you would like to see implemented in a TreeView?
  • What specific pain points have you encountered with the native WPF TreeView?
  • What features/API would help resolve those pain points?
  • Any other features/functionality you think we should consider?

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 you can see what others are saying and throw in your two cents as well.

TaskWideContactUs TaskWideChatWithUs

WPF Controls 2016.1 Build 631 Released

by Avatar Bill Henning (Actipro)
Friday, March 11, 2016 at 3:27pm

WPF-16.1.0631-BlogPostBanner

WPF Controls 2016.1 build 631 has been released and is now available for download.  This build contains numerous minor features, updates, and bug fixes across the various WPF control product range. 

It is highly recommended that v2016.1 customers upgrade to this build since it fixes all issues that have been discovered in the major Docking/MDI control updates that were part of the first 2016.1 release.

The first 2016.1 release added new Metro themes that have accent colors, like in the screenshot below.

RibbonQATButtons

The QAT buttons on the upper left of the window were originally wider in Office 2016, matching the width of the system minimize, maximize, and close title bar buttons.  However in the most recent Office 2016 update, the QAT button width was reduced and we've updated their size in this build to match.

See the announcement post for the detailed list of enhancements and updates in this build.

Do you want to chat with us about what we're working on next?  Register to join our Slack team and help guide our future development efforts!

TaskLearnMore TaskDownload TaskBuyNow

New Hotkeys in Docking/MDI

by Avatar Bill Henning (Actipro)
Friday, February 26, 2016 at 9:59pm

WpfControlsTipsBlogPostBanner

Quickly Selecting a Tab in the Same Container

Did you know that in the new 2016.1 version of our WPF Control's Docking/MDI product, you can quickly access another docking window tab in the same container by pressing Ctrl+[tabnumber]?  This also works in the Docking/MDI beta for Universal Windows.

TabbedMdi

For instance, in the tabbed MDI screenshot above, if I press Ctrl+2, the Document2.txt document would be selected.  And Ctrl+3 would select Document3.txt.

Ctrl+[tabnumber] will select the "normal" tab that has that tab index.  What if there are pinned tabs though?  Pinned tabs have an unpin button displayed on them and appear first in the tab list.  The same concept applies there but you'd press Ctrl+Alt+[tabnumber], where the tab number there is the tab index within the "pinned" tabs.

The same Ctrl+[tabnumber] keyboard shortcut will even work in docked tool windows when two or more tool windows are attached (tabbed) to each other.

Showing the Tool Window Container Options Menu

ToolWindowContainerOptionsMenu

The Alt+- keyboard shortcut will show the options menu for the current tool window, when the focused tool window is docked in a tool window container.

Showing the Tabbed Document Context Menu

TabbedMdiContextMenu

The Alt+- keyboard shortcut will also show a focused document's context menu when in tabbed MDI.

Showing the Tabbed MDI Document List Menu

TabbedMdiDocumentList

The Ctrl+Alt+DownArrow keyboard shortcut will display the document list menu in tabbed MDI.

Summary

These keyboard shortcuts are great for end users to be aware of and provide access to common docking functionality, all via the keyboard.

TaskLearnMore TaskDownload TaskBuyNow

SyntaxEditor Windows Workflow Designer Sample Updated

by Avatar Bill Henning (Actipro)
Friday, February 5, 2016 at 2:31pm

WpfControlsTipsBlogPostBanner

A while back, we created a sample for showing how a hosted Windows Workflow Designer instance could be integrated with Actipro WPF controls within a custom WPF application to provide a very elegant interface for end users.

With the release of the 2016.1 version of our WPF controls, we've updated the sample again.  Note how it now takes advantage of one of our new Office-like themes announced in yesterday's post:

WindowsWorkflowMetro

Our Docking/MDI product is used to provide the tool window and multiple document interface.  Our SyntaxEditor code editor control, in single line edit mode, is injected as a custom expression editor.  When you combine SyntaxEditor with our .NET Languages Add-on, you are able to have it support powerful IntelliPrompt completion lists.  For instance, in the screenshot above, you can see the itemCount variable is showing up in the completion list since it was declared below.  Our Themes product is used to provide a modern Metro style for all Actipro and native WPF controls.

When you put it all together, it's very easy to integrate Actipro WPF controls with rehosted Windows Workflow Designer instances in your applications.  It only takes a few minutes to get up and running, and once you do, the result is well worth the time.

Summary

If you rehost the Windows Workflow Designer in your WPF apps and would like our example, please contact us and we'll be happy to share it with you!

For those customers who downloaded either of the prior versions, this update is at the same URL as before.

TaskLearnMore TaskDownload TaskBuyNow