我尝试以编程方式向我的AvalonDock LayoutAnchorable
实例添加新的DockingManager
。
使用下面的代码,会出现anchorable,但是空白(内容不显示),按钮不起作用(浮动,自动隐藏,关闭等)。
控件 在将其(在运行时)拖入LayoutDocumentPane
之后将其按预期开始工作,尽管关闭按钮不会出现(这是一个单独的按钮)问题)。
var anchorable = new LayoutAnchorable
{
Content = control,
Title = "Configuration",
ContentId = "ConfigurationId",
IsActive = true,
IsSelected = true,
CanFloat = true,
CanAutoHide = false,
CanClose = true,
CanHide = false,
};
anchorable.AddToLayout( DockingManager, AnchorableShowStrategy.Left );
我试过导航AvalonDock来源,但我找不到任何明显的东西。
我希望以编程方式添加它,而不是使用MVVM。
答案 0 :(得分:0)
如果您希望始终添加到您要添加的文档的同一窗格,则可以执行此操作。
HomePage.homepage
是包含Docking管理器的窗口的静态成员。
doc
是对当前文档的引用。
LayoutDocument ld = new LayoutDocument();
ld.Content = new NewDonor(ld);
LayoutDocumentPane pane = ((doc.FindParent<LayoutDocumentPane>() ?? (HomePage.homepage.panal.Children?[0] as LayoutDocumentPane)) ?? new LayoutDocumentPane());
pane.Children.Add(ld);
if (HomePage.homepage.panal.ChildrenCount == 0)
{
HomePage.homepage.panal.Children.Add(pane);
}
ld.IsSelected = true;