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 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?
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've attached Window1, just in case...
Thanks!!
Did it cut this off for you?
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