本文整理汇总了C#中AvalonDock.DockableContent.SetStateToFloatingWindow方法的典型用法代码示例。如果您正苦于以下问题:C# DockableContent.SetStateToFloatingWindow方法的具体用法?C# DockableContent.SetStateToFloatingWindow怎么用?C# DockableContent.SetStateToFloatingWindow使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类AvalonDock.DockableContent
的用法示例。
在下文中一共展示了DockableContent.SetStateToFloatingWindow方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: Show
//.........这里部分代码省略.........
Anchor(newHostpane, desideredAnchor);
if (desideredState == DockableContentState.AutoHide)
{
ToggleAutoHide(newHostpane);
}
}
}
ActiveContent = content;
}
else if (desideredState == DockableContentState.DockableWindow ||
desideredState == DockableContentState.FloatingWindow)
{
DockablePane newHostpane = null;
FloatingDockablePane prevHostpane = null;
if (content.SavedStateAndPosition != null && content.SavedStateAndPosition.ContainerPane != null && content.SavedStateAndPosition.ContainerPane is FloatingDockablePane)
{
prevHostpane = content.SavedStateAndPosition.ContainerPane as FloatingDockablePane;
if (!prevHostpane.Items.Contains(content))
prevHostpane.Items.Add(content);
}
else
{
newHostpane = new DockablePane();
newHostpane.Items.Add(content);
}
if (desideredState == DockableContentState.DockableWindow)
content.SetStateToDockableWindow();
else if (desideredState == DockableContentState.FloatingWindow)
content.SetStateToFloatingWindow();
if (prevHostpane != null)
{
//check to see if floating window that host prevHostPane is already loaded (hosting other contents)
var floatingWindow = prevHostpane.Parent as DockableFloatingWindow;
if (floatingWindow != null && floatingWindow.IsLoaded)
{
floatingWindow.Activate();
}
else
{
floatingWindow = new DockableFloatingWindow(this);
floatingWindow.Content = content;
floatingWindow.WindowStartupLocation = WindowStartupLocation.Manual;
floatingWindow.Top = prevHostpane.FloatingWindow.Top;
floatingWindow.Left = prevHostpane.FloatingWindow.Left;
floatingWindow.Width = prevHostpane.FloatingWindow.Width;
floatingWindow.Height = prevHostpane.FloatingWindow.Height;
//floatingWindow.Owner = Window.GetWindow(this);
var mainWindow = Window.GetWindow(this);
if (mainWindow.IsVisible)
floatingWindow.Owner = mainWindow;
//now I've created a new pane to host the hidden content
//if a an hidden content is shown that has prevHostpane as saved pane
//I want that it is relocated in this new pane that I've created right now
var hiddenContents = DockableContents.Where(c => c.State == DockableContentState.Hidden).ToArray();
foreach (var hiddenContent in hiddenContents)
{
if (hiddenContent.SavedStateAndPosition.ContainerPane == prevHostpane)
{
hiddenContent.SavedStateAndPosition = new DockableContentStateAndPosition(