WPF Studio 2009.1 build 0503 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. Docking/MDI and SyntaxEditor have some very big new features. Other products have some minor new features and bug fixes.


  • Added magnetism feature that allows undocked and standard MDI windows to be snap next to other windows when dragging.
  • Added a QuickStart focused on the new the magnetism feature.
  • Added DockSite.CanToolWindowsRestoreToAutoHideState property, which allows ToolWindows to be restored in auto-hide state.
  • Added ability to customize the brushes used for DocumentWindow and ToolWindow tabs.
  • BREAK: Removed AutoHideTabItemBackgroundHoverOppositeBrushKey and AutoHideTabItemBackgroundNormalOppositeBrushKey from DockingCommonDictionary.
  • Added two new QuickStarts to demonstrate the customization of tab colors.
  • Added a QuickStart that shows how to integrate the transition effects provided by the WPF Pixel Shader Effects Library into the Wizard.
  • Added PrimaryWindow and PrimaryWindowChanged members to TabbedMdiHost and StandardMdiHost.
  • Added a QuickStart that shows how to retrieve and track the primary window of the MDI host.
  • Added support for displaying an icon to WindowControl.
  • Added overloads to ToolWindow Float and Undock methods that allow the size of the window to be specified.
  • Added a QuickStart that demostrates how to persist the layout of tool windows.
  • Added a QuickStart that shows the user a confirmation prompt before a MDI document is closed.
  • Added AreDocumentDropDownButtonsVisible property to TabbedMdiHost, which allows for the document drop-down button to be hidden.
  • Fixed issue with cancelling title rename retaining previous value.
  • Added a QuickStart that focuses on editing document titles when using a tabbed MDI host.
  • Fixed issue with auto-hide popups not moving/resizing with associated window when UseHostedAutoHidePopups was false.
  • Fixed issue with Ctrl+Tab not bringing up switcher when non-hosted popup had focus.


  • BREAK: Updated SelectedItem and SelectedPath property definitions on Breadcrumb to bind two-way be default.


  • Fixed issue with the plus/minus keys on numeric keypad expanding/collapsing categories.
  • Added IsItemsSourceAutoUpdated property to PropertyGrid, which allows ItemsSource to be set manually.
  • Fixed issue with categories showing empty for a second before properties are shown when IsAsynchronous is true.


  • Tweaked RibbonWindow title bar text positioning code.
  • Updated accessibly of certain properties to allow default styles to be more easily customized.
  • Updated RibbonUIControlService to prevent any possible memory leaks when using the CanUpdateCanExecuteWhenHidden option.


  • Added the LanguageData and ParseData properties, ParseDataChanged event to ICodeDocument.
  • Added the SyntaxEditor.DocumentParseDataChanged event.
  • Updated the control measure code.
  • BREAK: Made a change in naming of types/namespaces to use the industry standard terms "Lexing" (lexical analysis) and "Parsing" (syntax/semantic analysis) in preparation for new parsing-related code.
  • BREAK: Renamed "ActiproSoftware.Text.Parsing.Languages.*" namespaces (add-ons) to "ActiproSoftware.Text.Languages.*".
  • BREAK: Renamed "ActiproSoftware.Text.Parsing.Lexical" namespace to "ActiproSoftware.Text.Lexing".
  • BREAK: Renamed "ActiproSoftware.Text.Parsing.Lexical.Implementation" namespace to "ActiproSoftware.Text.Lexing.Implementation".
  • BREAK: Split types formerly in the "ActiproSoftware.Text.Parsing" namespace between "ActiproSoftware.Text" and "ActiproSoftware.Text.Lexing". Token-related types went to Lexing.
  • BREAK: Split types formerly in the "ActiproSoftware.Text.Parsing.Implementation" namespace between "ActiproSoftware.Text.Implementation" and "ActiproSoftware.Text.Lexing.Implementation". Token-related types went to Lexing.Implementation.
  • BREAK: Renamed instances of text "LexicalParser" to "Lexer": ILexicalParser => ILexer; IMergableLexicalParser => IMergableLexer; IDynamicLexicalParser => IDynamicLexer; DynamicLexicalParserBase => DynamicLexerBase; MergableLexicalParserBase => MergableLexerBase; DynamicLexicalParser => DynamicLexer; CSharpLexicalParser => CSharpLexer; VBLexicalParser => VBLexer; DataflowLexicalParser => DataflowLexer; MergableLexicalParserClassifier => MergableLexerClassifier; ILexicalState.LexicalParser property => Lexer; IMergableToken.LexicalParser property => Lexer; IMergableTokenLexerData.LexicalParser property => Lexer; LexicalStateBase.LexicalParserCore property => LexerCore.
  • BREAK: Renamed instances of text "LexicalParse" to "Lexer": IMergableTokenLexicalParseData => IMergableTokenLexerData; MergableLexicalParseFlags => MergableLexerFlags; MergableLexicalParseResult => MergableLexerResult; ILexicalParseTarget => ILexerTarget; MergableLexerResult.LexicalParseData property => LexerData.
  • BREAK: Renamed instances of text "LexicalParsing" to "Lexer": ILexicalParsingContext => ILexerContext.
  • BREAK: Updated the IMergableLexer.CreateToken and CreateDocumentEndToken methods to return IMergableToken instead of IToken.
  • Added the StringTextBufferReader class.
  • Fixed a bug where visible whitespace could render incorrectly in a certain scenario.
  • Fixed a bug where pressing Down or PgDn at the end of a document was moving some data into virtual space.
  • Fixed an issue where a long run of text in the same style on a single line that is word wrapped could cause very large memory usage.
  • Added two new QuickStarts added that show how to implement an IParser for the Simple language that counts functions.

Shared Library

  • Fixed issue with RadioButtonList not recognizing access keys.

Actipro Software Support