本文整理汇总了C#中AvalonDock.DockableContent.DetachFromContainerPane方法的典型用法代码示例。如果您正苦于以下问题:C# DockableContent.DetachFromContainerPane方法的具体用法?C# DockableContent.DetachFromContainerPane怎么用?C# DockableContent.DetachFromContainerPane使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类AvalonDock.DockableContent
的用法示例。
在下文中一共展示了DockableContent.DetachFromContainerPane方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: Show
//.........这里部分代码省略.........
if (mainWindow.IsVisible)
floatingWindow.Owner = mainWindow;
//floatingWindow.WindowStartupLocation = WindowStartupLocation.CenterOwner;
//if (content.Content != null)
//{
// floatingWindow.Width = Math.Min(((FrameworkElement)content.Content).ActualWidth, ResizingPanel.GetResizeWidth(content.ContainerPane));
// floatingWindow.Height = Math.Min(((FrameworkElement)content.Content).ActualHeight, ResizingPanel.GetResizeHeight(content.ContainerPane));
//}
//else
////{
// floatingWindow.Width = 400;
// floatingWindow.Height = 400;
//}
floatingWindow.Show();
}
else if (desideredState == DockableContentState.AutoHide)
{
var paneContainer = content.ContainerPane as DockablePane;
Debug.Assert(paneContainer != null);
if (paneContainer != null)
paneContainer.ToggleAutoHide();
content.Activate();
}
else if (desideredState == DockableContentState.Document)
{
DocumentPane docPane = MainDocumentPane;
if (docPane != null)
{
docPane.Items.Add(content.DetachFromContainerPane());
docPane.SelectedItem = content;
content.SetStateToDocument();
}
}
else
{
content.ContainerPane.SelectedItem = content;
content.Activate();
DockablePane dockParent = content.ContainerPane as DockablePane;
if (content.ActualWidth == 0.0 && (
dockParent.Anchor == AnchorStyle.Left || dockParent.Anchor == AnchorStyle.Right))
{
ResizingPanel.SetResizeWidth(dockParent, new GridLength(200));
ResizingPanel.SetEffectiveSize(dockParent, new Size(200, 0.0));
}
else if (content.ActualWidth == 0.0 && (
dockParent.Anchor == AnchorStyle.Top || dockParent.Anchor == AnchorStyle.Bottom))
{
ResizingPanel.SetResizeHeight(dockParent, new GridLength(200));
ResizingPanel.SetEffectiveSize(dockParent, new Size(200, 0.0));
}
}
}
else if (content.State == DockableContentState.Document)
{
if (content.ContainerPane != null)
content.ContainerPane.SelectedItem = this;
content.Activate();
}
else if (content.State == DockableContentState.Hidden ||
示例2: DetachContentFromDockingManager
void DetachContentFromDockingManager(DockableContent content)
{
if (content.State == DockableContentState.AutoHide)
{
DockablePane parentContainer = content.Parent as DockablePane;
if (parentContainer != null &&
parentContainer.Items.Count == 1)
parentContainer.ToggleAutoHide();
}
if (content.State == DockableContentState.DockableWindow ||
content.State == DockableContentState.FloatingWindow)
{
DockablePane parentContainer = content.Parent as DockablePane;
if (parentContainer != null &&
parentContainer.Items.Count == 1)
{
FloatingWindow floatingWindow = Window.GetWindow(content) as FloatingWindow;
floatingWindow.Close(true);
}
}
//this content can be hidden also if was contained in closed floating window
if (content.State == DockableContentState.Hidden)
Show(content, DockableContentState.Docked);
content.DetachFromContainerPane();
}
示例3: Hide
/// <summary>
/// Hide a dockable content removing it from its container <see cref="Pane"/>
/// </summary>
/// <param name="content">Content to hide</param>
/// <remarks>Note that if you simply remove a content from its container without calling this method, the
/// layout serializer component can't managed correctly the removed content.</remarks>
internal void Hide(DockableContent content)
{
if (content.State == DockableContentState.Hidden)
{
DockableContents.Add(content);
return;
}
if (!content.IsCloseable)
return;
if (content.State != DockableContentState.FloatingWindow &&
content.State != DockableContentState.DockableWindow)
{
//save position only if hiding from a docked or autohidden pane
content.SaveCurrentStateAndPosition();
}
if (content.State == DockableContentState.AutoHide)
{
HideFlyoutWindow();
RemoveContentFromTabGroup(content);
}
if (content.State == DockableContentState.FloatingWindow ||
content.State == DockableContentState.DockableWindow)
{
DockableFloatingWindow floatingWindow = Window.GetWindow(content) as DockableFloatingWindow;
if (floatingWindow != null &&
(floatingWindow.Content as Pane).HasSingleItem &&
!floatingWindow.IsClosing)
{
floatingWindow.Close();
}
}
if (content.State != DockableContentState.Hidden)
{
DockableContents.Add(content);
content.SetStateToHidden();
content.DetachFromContainerPane();
}
if (ActiveDocument == content)
ActiveDocument = null;
if (ActiveContent == content)
ActiveContent = null;
}