WPF Studio 2009.1 build 0506 Maintenance Release

Announcements Forum

Posted 15 years ago by Actipro Software Support - Cleveland, OH, USA
A huge new WPF Studio maintenance release is now available. Updates include:


  • Fixed issue with theme changes not updating inner element styles.


  • Changed the base class of DockingWindow from ContentControl to HeaderedContentControl to allow for custom content in any associated tabs.
  • Added SplitContainer.ResizeSlots method, which allows the slots to be resized based on zero or more ratios.
  • Added ability to cascade and tile (horizontally or vertically) tabbed MDI documents.
  • Added a QuickStart that demostrates the new slot resizing functionality of the SplitContainer.
  • Added ContextContent and related properties to WindowControl, which allow custom content to be display in the title bar.
  • Added the WindowControl.HasTitleBar property, which can be used to show or hide the title bar.
  • Added support for maximize/restore title bar buttons to WindowControl's using tool window style.
  • Added the TabbedMdiHost.CanDocumentsCloseOnMiddleClick property, which allows documents to be closed by clicking the tab with the middle mouse button.
  • Added a AutoHideHost.Deactivate overload that will force the active window to be deactivate.
  • Fixed an issue with the StandardMdiHost, where the layout of the child windows would be reset during theme changes.
  • Fixed a couple issues with moving focus between standard MDI child windows to more closely match Visual Studio 2008.
  • Fixed an issue where Workspace required the MDI host to be the only child element.
  • Fixed an issue where the active document window may be deactivated when optimizing containers.
  • Added workaround for Blend crash when editing a copy of TabbedMdiContainer's default style.
  • Fixed an issue where the document tab would not immediately refresh when the tab brush was changed.
  • Fixed an issue where hosted rafting windows would always snap to the upper left.
  • Fixed an issue where the tabbed MDI context image would appear blurry when images are shown on the tab.
  • Fixed an issue where changing the theme when an auto-hide non-hosted popup was open would change popup to hosted.
  • Changed source of WindowDragged and WindowDragging events from the preview window to the actual element being dragged.
  • Fixed issue with dragging a WindowControl which contains an element that is in a different focus scope.
  • Fixed issue with WindowControl not properly minimizing in certain cases.
  • Fixed issue with WindowControl automation peer not properly reporting new value of WindowPatternIdentifiers.CanMinimizeProperty.
  • Fixed issue where the Close menu item in the context menu for rafting windows was always disabled.
  • Fixed issue with activating a DockingWindow or WindowControl whose first focusable element was in a separate focus scope.
  • Fixed exception caused when a non-hosted popup would start showing after the parent window was minimized.
  • Fixed issue with blurry dock guide glyphs.
  • Updated standard MDI windows to display context image.
  • Tweaked Window border brushes used in Office Blue and Silver themes.
  • Updated standard MDI windows to raise the DockSite.WindowDragged and WindowDragging events.
  • Updated docking windows to properly raise DockSite.WindowOpened event when moved to MDI host.
  • Marked DockSite.Theme property as obsolete since setting theme at control level should only be done for testing purposes.


  • Added a QuickStart that shows how a custom range can be applied to an Int32EditBox.
  • Updated Double, In32, Int32Rect, Point, Rect, Size, and Vector editors to prevent values larger than maximum value from being entered.
  • BREAK: Added ITextView.GetBounds method, which returns a list of bounding rectangles to properly support BiDi text selection.
  • Fixed an issue where selecting BiDi text would throw an exception.
  • Fixed an issue where MaskedTextBox would not always display literal characters correctly.
  • Fixed an issue with PartEditBox.Focus() not passing focus to first focusable child.
  • Fixed an issue where percentage values were not parsing correctly in ColorEditBox.
  • Fixed an issue with PropertyGrid interop bindings when using ValueAsString.
  • Updated all Brush resources so that they can all be frozen.


  • Added new alternate themes for Expander and AnimatedExpander that match Windows 7 expanders.
  • Updated themes for Expander and AnimatedExpander to respect Direction property.
  • Tweaked how focus moves during minimization and button hiding.
  • Updated all Brush resources so that they can all be frozen.
  • Marked Breadcrumb.Theme and ExpandarBar.Theme properties as obsolete since setting theme at control level should only be done for testing purposes.


  • Added a new built-in property editor that uses a TextBox and includes a button that can be used to show a dialog.
  • BREAK: Added Target property to IPropertyDataAccessor and supporting classes.
  • BREAK: Updated PropertyGrid to explicitly initialize default columns, instead of using shared collection from default Style.
  • Updated all Brush resources so that they can all be frozen.
  • Fixed an issue where the sub-properties of a property would not update when the Value(s) were changed.


  • Added RibbonWindow.SetSize method to workaround WPF window sizing issues.
  • Tweaked the RibbonWindow drag code when in Windows 7.
  • Updated FontFamilyComboBox to validate that each FontFamily added is valid since some Fonts.SystemFontFamilies entries can be invalid.
  • Fixed issue with using implicit DataTemplates in a Ribbon context menu.
  • Fixed a bug where clicking the titlebar of a maximized RibbonWindow in Windows 7 and then clicking elsewhere could start a window drag.
  • Fixed a bug introduced in a previous build where using ApplicationCommands.NotACommand on a PopupButton.Command would always disable the control.
  • Updated all Brush resources so that they can all be frozen.
  • Marked RibbonWindow.Theme property as obsolete since setting theme at control level should only be done for testing purposes.

Shared Library

  • Added PopupIndicatorToolTip property to PopupButton, which allows the popup indicator to display a unique tool-tip.
  • Added the GlassWindow.IsFullScreenAllowed property.
  • Added several overload methods to VisualTreeHelperExtended that allow custom filtering and matching logic to be used.
  • Updated PopupButton so pressing down arrow when the popup is already open would move focus to popup content.
  • Updated PopupButton to add associated Popup as logical and visual child.
  • Fixed an issue where VisualTreeHelperExtended.GetCurrentOrAncestor can throw an NullReferenceException.
  • Fixed issue with PopupButton where down arrow would not always open popup.
  • Fixed issue with PopupButton where Escape key would not close an open popup.
  • Fixed issue when AnimatedExpander was expanded before loading.
  • Fixed issue with RadioButtonList not recognizing access keys.
  • Updated all Brush resources so that they can all be frozen.
  • Marked AnimatedProgressBar.Theme and PopupButton.Theme properties as obsolete since setting theme at control level should only be done for testing purposes.


  • Finalized the new language project and language definition formats, and converted all free language samples to use the new formats.
  • Added extensive functionality to the Language Designer app to make it easy to build a language from scratch.
  • Merged DynamicLexer and DynamicLexerBase classes. Removed the static LoadFromXml methods since the new language definition format and related SyntaxLanguageDefinitionSerializer class are now available.
  • Added features to support automated quick info session processing for a language and updated the IntelliPrompt Quick Info sample to show how to use the new service.
  • Added the IQuickInfoProvider service that supports automated quick info sessions, and the related QuickInfoProviderBase base class that handles mouse processing.
  • Added the IQuickInfoSession.Context property that should always be filled in if a IQuickInfoProvider is being used.
  • Added the RequestIntelliPromptQuickInfoSessionAction edit action and the EditorCommands.RequestIntelliPromptQuickInfoSession property.
  • Added the EditorView.MouseHover event and the IEditorViewMouseInputEventSink.NotifyMouseHover method that gets called when a mouse hover occurs over a view.
  • Added the CaretBrush, SelectionBackgroundActive, SelectionBackgroundInactive, SelectionBorderActiveBrush, and SelectionBorderInactiveBrush properties to SyntaxEditor, allowing the rendering of the caret and selection to be configurable. Added a new related QuickStart.
  • Added the EditorSnapshotChangedEventArgs.IsTypingWordStart property that can be used to determine if the user is starting to type a new word. It makes it easy to show a completion list in response.
  • Added the Getting Started 5 QuickStart, that shows how to define an ICompletionProvider for a language and automatically show a completion list as new words are typed.
  • Added the ICompletionSession.DescriptionTipShowDelay property to control how quickly description tips display.
  • Added the ICompletionSession.SortItems method that can be used to sort the items before the session is opened.
  • Updated how IntelliPrompt popups internally track mouse and keyboard events, and added the IIntelliPromptSession.ClosesOnLostFocus property.
  • Updated IntelliPrompt quick info to close when the caret moves out of the text range being tracked.
  • BREAK: Renamed the RequestIntelliPromptCompletionSessionAction and related command to RequestIntelliPromptAutoCompleteAction. Added a new RequestIntelliPromptCompletionSessionAction and related command that force a completion list to show instead of auto-completing when possible.
  • BREAK: Renamed IntelliPrompt content provider types: IQuickInfoContentProvider to IContentProvider, PlainTextQuickInfoContentProvider to PlainTextContentProvider, DirectQuickInfoContentProvider to DirectContentProvider, and HtmlQuickInfoContentProvider to HtmlContentProvider.
  • BREAK: Renamed the ILexicalScopeLexicalStateTransition interface to ILexicalStateTransition and added the ChildLanguage property. Renamed the LexicalScopeLexicalStateTransition class to LexicalStateTransition.
  • Updated tokens generated from the Oslo Dataflow Add-on to provide an IToken.Key value if a TokenKey attribute is specified in the original MGrammar source.
  • Updated the MGrammar Integration Sample to demo a quick info provider that shows the key of the token that the mouse is over.
  • Updated the ANTLR Integration Sample to use a dynamic lexer for syntax highlighting.
  • Added the Go to Line QuickStart.
  • Fixed a bug where the completion list could throw an exception when opened if the caret was offscreen.
  • Worked around a bug in the Microsoft WPF text rendering routines where trailing whitespace doesn't render decorations.
  • Updated the completion list to work around the WPF ListBox.ScrollIntoView flickering issue.
  • Updated the ThreadedParseRequestDispatcher constructor to not fail if a security exception occurs when checking the available system processor count.
  • Fixed a bug where the completion list could auto-complete without showing a popup incorrectly if items weren't sorted.
  • Fixed a bug where pasting a block selection at the end of a document could cause an infinite loop.
  • Fixed a bug where an exception could be thrown when rebuilding a Window containing a SyntaxEditor in Blend 3.


  • Updated the AeroWizardWindow to render correctly in Windows 7 when maximized.
  • Updated all Brush resources so that they can all be frozen.

Actipro Software Support