Hi,
I'm trying to figure out how to use ribbons in a real application, using regions in prism (http://compositewpf.codeplex.com). I'd actually want to work on the ideas of the infragistics salesman sample, but using a more modular architecture. The goal is to be able to display different sub-applications, all managed through a ribbon menu.
So let's say I have a menu region which uses a xamribbon. In another module I also have a mainRegion, which displays datagrids, graphs ... just below the ribbon.
How could I dynamically re-position my mainRegion so that I remains just below the ribbon, even after I clicked on minimize (isMinimized property = TRUE) ? (currently my mainRegion remains where it was initially defined).
Thanks
Fabien
I know ths is an old post, but my this will be beneficial to all who find themselves here.
Using any Infragistics control with Prism is extremely simple, especially with the XamRibbon. You can follow my blog as I am recording a series of vidoes on how to use Prism with our controls.
http://community.infragistics.com/blogs/blagunas/default.aspx
I've been working on doing integrating ribbons with prism, and I can tell you it's not easy. I think I have most of the problems solved by having my shell that contains the ribbon publishing which button was clicked and my controls viewmodels subscribing to those events. The controls publish their current state (like selected records, active tabs, etc.) through events using elaborate event args which the shell is subscribing to display the correct context tabs on the ribbon. I think I can help you with your problem here.
<igRibbon:RibbonWindowContentHost> <igRibbon:RibbonWindowContentHost.Ribbon>
<igRibbon:XamRibbon Name="xamRibbon1" Theme="Office2k7Black">
</igRibbon:RibbonWindowContentHost.Ribbon>
<igRibbon:RibbonWindowContentHost.StatusBar> </igRibbon:RibbonWindowContentHost.StatusBar>
<igRibbon:RibbonWindowContentHost.StatusBar>
</igRibbon:RibbonWindowContentHost.StatusBar>
<DockPanel LastChildFill="True"> <Canvas x:Name="adornerLayer" Visibility="Collapsed" /> <ScrollViewer x:Name="scroll" ScrollViewer.HorizontalScrollBarVisibility="Disabled" ScrollViewer.VerticalScrollBarVisibility="Auto"> <ItemsControl x:Name="DisplayRegionControl" HorizontalAlignment="Stretch" HorizontalContentAlignment="Stretch" VerticalAlignment="Stretch" VerticalContentAlignment="Stretch" regions:RegionManager.RegionName="DisplayRegion" /> </ScrollViewer> </DockPanel>
Not sure if the DockPanel is still necessary with this example, but this works for us.