Posted 16 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.
Docking/MDI
- 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.
Navigation
- BREAK: Updated SelectedItem and SelectedPath property definitions on Breadcrumb to bind two-way be default.
PropertyGrid
- 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.
Ribbon
- 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.
SyntaxEditor
- 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