I'm using the UltraExplorerBar in outlook mode. Is there a way I can hide the little button that appears at the bottom right? I'm not sure what it is called - the tooltip calls it "Configure Buttons".
I've attached a screen shot of what I want to hide - it's the thing with the red circle around it.
In addition to hiding it, is it also possible to perhaps grey out the menu items that pop up when you click it?
Any info appreciated,
Scott
You can hide the "quick customize button" using the IUIElementCreationFilter interface, as demonstrated by the following code sample:
using Infragistics.Win;using Infragistics.Win.UltraWinExplorerBar;
this.ultraExplorerBar1.CreationFilter = new HideQuickCustomizeButtonCreationFilter();
#region HideQuickCustomizeButtonCreationFilter/// <summary>/// IUIElementCreationFilter implementation which disables the splitter bar/// for the OutlookNavigationPane style ExplorerBar./// </summary>public class HideQuickCustomizeButtonCreationFilter : IUIElementCreationFilter{ #region Constructor /// <summary> /// Creates a new instance of the class. /// </summary> public HideQuickCustomizeButtonCreationFilter(){} #endregion Constructor
#region IUIElementCreationFilter implementation
void IUIElementCreationFilter.AfterCreateChildElements(UIElement parent) { NavigationOverflowButtonAreaUIElement buttonArea = parent as NavigationOverflowButtonAreaUIElement; if ( buttonArea != null ) { NavigationOverflowQuickCustomizeButtonUIElement buttonElement = buttonArea.GetDescendant( typeof(NavigationOverflowQuickCustomizeButtonUIElement) ) as NavigationOverflowQuickCustomizeButtonUIElement;
if ( buttonElement != null ) buttonArea.ChildElements.Remove( buttonElement ); } }
bool IUIElementCreationFilter.BeforeCreateChildElements(UIElement parent) { return false; }
#endregion IUIElementCreationFilter implementation}#endregion HideQuickCustomizeButtonCreationFilter
This is cool, but is there any way to just get rid of the entire block region, and not just the filter button part?
TIA
Same approach, with a parent element of type NavigationAreaUIElement and a child element of type NavigationOverflowButtonAreaUIElement.
The control exposes a PropertyChanged event, which fires when any property value changes. There are other more specific events that fire when a particular property's value changes, in the case where the change has special significance. I'm not sure what change you are interested in, but if you want a notification when the ActiveGroup changes, you can handle the ActiveGroupChanging event.
Thanks for the response.
If I can't get rid of it, can you point me in the right direction for some events I can tap into for when things change in the navigation pane. The only one I could find that I was able to trigger was the NavigationOptionsDialogDisplaying event.
For example, if a particular group has been selected, and the user hides all of the groups using the splitter or the configuration tool, and then reconfigures the groups, the active group is no longer highlighted.
I was trying to get the selected group to be reset after configuration changes have occured.
I don't know if that makes any sense.
No, there isn't. You can prevent it from appearing, but the control's metrics calculation logic doesn't know you did, so the area is still reserved. If you like you can submit a feature request for a property that enables you to hide the navigation overflow area.
Okay... I tried this in the AfterCreateChildElements method:
NavigationAreaUIElement navigationArea = parent as NavigationAreaUIElement; if (navigationArea != null) { NavigationOverflowButtonAreaUIElement navigationElement = navigationArea.GetDescendant(typeof(NavigationOverflowButtonAreaUIElement)) as NavigationOverflowButtonAreaUIElement; if (navigationElement != null) navigationArea.ChildElements.Remove(navigationElement); }
Basically... i still have a "Control" colored block where the NavigationArea used to be taking up space. Did I miss something, or is there some way to eliminate the region entirely?