I have a split pane docked to the right with 2 seprate content panes in it and the same on the bottom for the XamDockManager.Panes. If I "auto hide" 1 of the content panes on the bottom I can not get it back unless I "auto hide" the panes to the right. It apperars at the bottom of the window as a tab, I move the mouse over it, and it comes back into view, but the right side pane buttons are not accessible, it is behind the split pane to the right, so I can not click the "auto hide" to bring it back.
Is there a work around for this or someother property that needs set?
Thanks
SDI
I haven't seen this issue occuring. Can you provide a sample that demonstrates the issue so we can look to see what is happening?
There are 2 items to paste XAML and code behind. If you notice the bottom panes are fine when min and restore.
Then you click the "Load Host" button in the left ToolTray and now the bottom panes are behind the loaded WindowsFormHost content of the RightPane2 when min and restored..
If you move the screen up and down you can see it disappearing behind the content of RightPane2. If you need me to supply the sample project zipped up let me know.
Thanks! SDI
-----------paste the following into a new WPF project XAML window-----------
<igRibbon:XamRibbonWindow x:Class="Window1" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:igRibbon="http://infragistics.com/Ribbon" xmlns:igDock="http://infragistics.com/DockManager" xmlns:igWindows="http://infragistics.com/Windows" xmlns:igEditors="http://infragistics.com/Editors" xmlns:igDP="http://infragistics.com/DataPresenter" Title="untitled1" Height="380" Width="860" > <igRibbon:RibbonWindowContentHost> <igRibbon:RibbonWindowContentHost.Ribbon> <igRibbon:XamRibbon Name="xamMainRibbon"> </igRibbon:XamRibbon> </igRibbon:RibbonWindowContentHost.Ribbon> <Grid> <Grid.ColumnDefinitions> <ColumnDefinition Width="90"></ColumnDefinition> <ColumnDefinition Width="*"></ColumnDefinition> </Grid.ColumnDefinitions> <ToolBarTray Orientation="Vertical" Width="90"> <ToolBar Background="LightBlue" Band="0" BandIndex="0"> <Grid> <Grid.RowDefinitions> <RowDefinition Height="30"></RowDefinition> </Grid.RowDefinitions> <Grid.ColumnDefinitions> <ColumnDefinition Width="90"></ColumnDefinition> </Grid.ColumnDefinitions> <Button Name="Button1">Load Host</Button> </Grid> </ToolBar> </ToolBarTray> <igDock:XamDockManager Name="xamDockManager" Grid.Column="1"> <igDock:XamDockManager.Panes> <!-- panes to the right --> <igDock:SplitPane Name="DockRight" igDock:XamDockManager.InitialLocation="DockedRight" SplitterOrientation="Horizontal" Width="300"> <!-- Report Explorer pane --> <igDock:ContentPane Name="RightPane1" IsPinned="True" Header="RightPane1" Background="Wheat"></igDock:ContentPane> <!-- Control Properties pane --> <igDock:ContentPane Name="RightPane2" IsPinned="True" Header="RightPane2" Background="Violet"></igDock:ContentPane> </igDock:SplitPane> <!-- panes to the bottom --> <igDock:SplitPane Name="DockBottom" igDock:XamDockManager.InitialLocation="DockedBottom" SplitterOrientation="Vertical" Height="132"> <igDock:ContentPane Name="PaneBottom1" Header="PaneBottom1" Background="White"> <RichTextBox VerticalScrollBarVisibility="Auto"> <FlowDocument> <Paragraph> <Run>Some text</Run> </Paragraph> </FlowDocument> </RichTextBox> </igDock:ContentPane> <igDock:ContentPane Name="PaneBottom2" Header="PaneBottom2" Background="Gold"> <Grid> <Grid.RowDefinitions> <RowDefinition Height="52"></RowDefinition> <RowDefinition></RowDefinition> </Grid.RowDefinitions> </Grid> </igDock:ContentPane> </igDock:SplitPane> </igDock:XamDockManager.Panes> <!-- XamDockManager is a ContentControl so the content can be anything but use a DocumentContentHost to include a VS like tabbed document interface that can participate in the docking --> <igDock:DocumentContentHost Name="DocumentHost" Background="Green"> <!-- a document content host contains 1 or more split panes --> <igDock:SplitPane> <!-- those split panes can only contain a tabgrouppane --> <igDock:TabGroupPane Name="TabGroupPane1"> <igDock:ContentPane x:Name="ContentPane1" AllowDocking="False" AllowFloatingOnly="False" CloseAction="RemovePane"> <Grid x:Name="gDesigner1" Background="LightYellow"> </Grid> </igDock:ContentPane> </igDock:TabGroupPane> </igDock:SplitPane> </igDock:DocumentContentHost> </igDock:XamDockManager> </Grid> </igRibbon:RibbonWindowContentHost> </igRibbon:XamRibbonWindow>
-----------paste the following into code behind---------
Private Sub Button1_Click(sender As Object, e As System.Windows.RoutedEventArgs) Handles Button1.Click Dim myWindowsFormsHost As New System.Windows.Forms.Integration.WindowsFormsHost() Dim myGridHost As New Grid() Dim myPropertyGrid As New System.Windows.Forms.PropertyGrid() If Not Me.RightPane2.Content Then ' set some properties to the property grid myPropertyGrid.BackColor = System.Drawing.Color.GhostWhite myPropertyGrid.BackgroundImage = Nothing ' TODO: get an images for SDI - watermark type myPropertyGrid.CategoryForeColor = System.Drawing.Color.MidnightBlue myPropertyGrid.CommandsForeColor = System.Drawing.Color.Blue myPropertyGrid.LineColor = System.Drawing.Color.LightSteelBlue myPropertyGrid.ViewBackColor = System.Drawing.Color.GhostWhite myPropertyGrid.ViewForeColor = System.Drawing.Color.DarkBlue myPropertyGrid.AutoScaleMode = Forms.AutoScaleMode.Inherit ' set the property grid to the WindowsFormsHost myWindowsFormsHost.Child = myPropertyGrid ' lets add a property grid to the Gird myGridHost.Children.Add(myWindowsFormsHost) ' lets add the Grid that contains the WindowFormsHost and PropertyGrid to the ContentPane Me.RightPane2.Content = myGridHost End If End Sub
Did it cut this off for you?
I've attached Window1, just in case...
Thanks!!
This seems to be the WindowsFormsHost that is the culprit. I loaded a RichTextBox into it and same thing happened, the pane was behind it. I took it out and loaded an image into the myGridHost.Children.Add(myImage) and it worked, the pane was in front. If its myGridHost.Children.Add(myWindowsFormsHost) then its no good. The grid is the content of the pane, but the grid child is the WindowsFormsHost.
I need to load the property grid into the WindowsFormsHost, is there a work around for this or a property to set?
Thanks for your time.
I am not able to reproduce the problem. There used to be issues with air space with regards to HwndHosts (like the WindowsFormsHost) because they are separate HWNDs and therefore are above all WPF elements (see the ms docs on this). However quite a while back (~2 years ago) we made changes to xamDockManager so that the flyout would be displayed in a Popup which is a separate window and therefore would be above the hwndhosts. What version of the controls are you using?
I'm not aware of any such issues remaining in a WPF application so we would need a sample that demonstrates the issue to understand what is happening in your scenario. The only case I can think of where this may still happen is in an XBAP application because the WPF popups would be behind some HwndHosts but that wouldn't be under our control.
HI Andrew,
I am using latest version 11.2 but still getting same issue? Any ideas what I can do to fix it?
Thanks,
Imad.
Andrew, you are correct! The version we had was 8.2.20082..1002, we updated to .2140 and the pane now appears over the host! This is great! It is also great when you update your software :). I appreciate the direction!!
Thanks!!!
It was a while back but I believe a hotfix for 8.2 included the fix. Try going to "My Infragistics" and then to "My Keys & Downloads" to get the latest SR.
Ouch this is not good - we have version 8.2.20082.1002, what version was the fix in?