本文整理汇总了C#中AvalonDock.DocumentPane.Focus方法的典型用法代码示例。如果您正苦于以下问题:C# DocumentPane.Focus方法的具体用法?C# DocumentPane.Focus怎么用?C# DocumentPane.Focus使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类AvalonDock.DocumentPane
的用法示例。
在下文中一共展示了DocumentPane.Focus方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: Anchor
//.........这里部分代码省略.........
Orientation requestedOrientation =
(anchor == AnchorStyle.Bottom || anchor == AnchorStyle.Top) ? Orientation.Vertical : Orientation.Horizontal;
if (relativePaneContainer == null)
{
Debug.Assert(relativePane.Parent == this);
relativeDocumentPaneContainer = new DocumentPaneResizingPanel();
relativePaneContainer = relativeDocumentPaneContainer;
relativeDocumentPaneContainer.Orientation = requestedOrientation;
this.Content = relativePaneContainer;
relativePaneContainer.Children.Add(relativePane);
}
if (relativeDocumentPaneContainer == null)
{
relativeDocumentPaneContainer = new DocumentPaneResizingPanel();
relativeDocumentPaneContainer.Orientation = requestedOrientation;
int indexOfPaneToReplace = relativePaneContainer.Children.IndexOf(relativePane);
relativePaneContainer.Children.RemoveAt(indexOfPaneToReplace);
relativeDocumentPaneContainer.Children.Add(relativePane);
relativePaneContainer.Children.Insert(indexOfPaneToReplace, relativeDocumentPaneContainer);
relativePaneContainer = relativeDocumentPaneContainer;
}
Debug.Assert(relativePaneContainer != null, "By now we can't have a pane without a resizing panel containing it");
#region Create and setup container panel
if (relativePaneContainer != null)
{
//check if orientation is right
if (relativePaneContainer.Orientation != requestedOrientation)
{
//if the existing panel is not oriented as we want
//create a new one
DocumentPaneResizingPanel newPanel = new DocumentPaneResizingPanel();
newPanel.Orientation = requestedOrientation;
//replace relative pane in its' container panel
//with this new panel
int indexofRelativePane = relativePaneContainer.Children.IndexOf(relativePane);
relativePaneContainer.Children.Remove(relativePane);
relativePaneContainer.Children.Insert(indexofRelativePane, newPanel);
//now we have a panel correctly placed in the tree
newPanel.Children.Add(relativePane);
//use InsertChildRelativeTo function to add a resizingsplitter between
//the two children
newPanel.InsertChildRelativeTo(
paneToAnchor, relativePane, anchor == AnchorStyle.Right || anchor == AnchorStyle.Bottom);
relativePaneContainer = newPanel;
}
else
{
if (anchor == AnchorStyle.Left ||
anchor == AnchorStyle.Top)
{
//add new child before first (prepend)
relativePaneContainer.InsertChildRelativeTo(paneToAnchor,
relativePane, false);
}
else
{
//add new child after last (append)
relativePaneContainer.InsertChildRelativeTo(paneToAnchor,
relativePane, true);
}
//if (relativePaneContainer.Orientation == Orientation.Horizontal)
//{
// Size desideredSize = ResizingPanel.GetEffectiveSize(paneToAnchor);
// double approxStarForNewPane = desideredSize.Width / relativePaneContainer.ActualWidth;
// approxStarForNewPane = Math.Min(approxStarForNewPane, 1.0);
// paneToAnchor.SetValue(ResizingPanel.ResizeWidthProperty, new GridLength(approxStarForNewPane, GridUnitType.Star));
//}
}
relativePaneContainer.InvalidateMeasure();
}
#endregion
paneToAnchor.Focus();
//(paneToAnchor.SelectedItem as ManagedContent).Activate();
//if (paneToAnchor.SelectedItem is DocumentContent)
// ActiveDocument = paneToAnchor.SelectedItem as DocumentContent;
paneToAnchor.SelectedIndex = 0;
}