Hi,
I am having an rendering problem with the following scenario: I have a Ribbon docked to the top of my window, and a DockSite with an TabMdiHost as the main content. Various buttons on and off the ribbon open new views (hosted in a document window) which are adding to the TabMdiContainer. Each view may or may not have a ContextualTabGroup, which is displayed when the (docking) tab is shown. When the views do not have focus, their ContextualTabGroups are not displayed in the ribbon.
When a view with a ContextualTabGroup is replacing another view (who also has a ContextualTabGroup), I get a flickering effect in the ribbon content. The flickering is almost certainly caused by the old views ContextualTabGroups IsActive property being set to false; the ribbon painting the "Home" tab; and then the ribbon painting the new views ContextualTabGroup (as it becomes active).
So, my question is this: Is there any way to pause the rendering of the ribbon control until after my new views ContextualTabGroup is active?
<ExtraInformationThatMightHelp>
Note that I am composing this ribbon on the fly by hooking it up to the CompositeWPF infrastructure. To show a ContextualTabGroup, I set the IsActive property of the tab group to true during the Loaded event of my views. I set the IsActive property to false during the Unloaded event. To "select" the current ContextualTabGroup, I fire an event using the IEventAggregator, which is captured by my RibbonAdapter, whose responsibility it is to activate the passed in tab to the ribbons SelectedTab property. While this isn't totally satisfactory, it works until I find a better way to implement this feature.
</ExtraInformationThatMightHelp>
Thanking you, for any help/suggestions,
-Brad
I am having an rendering problem with the following scenario: I have a Ribbon docked to the top of my window, and a DockSite with an TabMdiHost as the main content. Various buttons on and off the ribbon open new views (hosted in a document window) which are adding to the TabMdiContainer. Each view may or may not have a ContextualTabGroup, which is displayed when the (docking) tab is shown. When the views do not have focus, their ContextualTabGroups are not displayed in the ribbon.
When a view with a ContextualTabGroup is replacing another view (who also has a ContextualTabGroup), I get a flickering effect in the ribbon content. The flickering is almost certainly caused by the old views ContextualTabGroups IsActive property being set to false; the ribbon painting the "Home" tab; and then the ribbon painting the new views ContextualTabGroup (as it becomes active).
So, my question is this: Is there any way to pause the rendering of the ribbon control until after my new views ContextualTabGroup is active?
<ExtraInformationThatMightHelp>
Note that I am composing this ribbon on the fly by hooking it up to the CompositeWPF infrastructure. To show a ContextualTabGroup, I set the IsActive property of the tab group to true during the Loaded event of my views. I set the IsActive property to false during the Unloaded event. To "select" the current ContextualTabGroup, I fire an event using the IEventAggregator, which is captured by my RibbonAdapter, whose responsibility it is to activate the passed in tab to the ribbons SelectedTab property. While this isn't totally satisfactory, it works until I find a better way to implement this feature.
</ExtraInformationThatMightHelp>
Thanking you, for any help/suggestions,
-Brad