本文整理汇总了C#中AvalonDock.DockableContent.SetBinding方法的典型用法代码示例。如果您正苦于以下问题:C# DockableContent.SetBinding方法的具体用法?C# DockableContent.SetBinding怎么用?C# DockableContent.SetBinding使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类AvalonDock.DockableContent
的用法示例。
在下文中一共展示了DockableContent.SetBinding方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: CreateOrUnhideDockableContent
private void CreateOrUnhideDockableContent(ContentTypes contentType, string title, string viewPropertyName, object parent)
{
if (!this.dockableContents.Keys.Contains(contentType))
{
DockableContent dockableContent = new DockableContent();
ContentControl contentControl = new ContentControl();
dockableContent.IsCloseable = true;
dockableContent.HideOnClose = false;
dockableContent.Title = title;
dockableContent.Content = contentControl;
if (parent is ResizingPanel)
{
DockablePane dockablePane = new DockablePane();
dockablePane.Items.Add(dockableContent);
ResizingPanel resizingPanel = parent as ResizingPanel;
switch (contentType)
{
case ContentTypes.PropertyInspector:
resizingPanel.Children.Add(dockablePane);
ResizingPanel.SetResizeWidth(dockablePane, new GridLength(300));
break;
case ContentTypes.Outline:
resizingPanel.Children.Insert(1, dockablePane);
ResizingPanel.SetResizeWidth(dockablePane, new GridLength(250));
break;
case ContentTypes.Toolbox:
resizingPanel.Children.Insert(0, dockablePane);
ResizingPanel.SetResizeWidth(dockablePane, new GridLength(250));
break;
}
}
else if (parent is DockablePane)
{
DockablePane dockablePane = parent as DockablePane;
dockablePane.Items.Add(dockableContent);
if (dockablePane.Parent == null)
{
this.verticalResizingPanel.Children.Add(dockablePane);
}
}
Binding dataContextBinding = new Binding(viewPropertyName);
dockableContent.SetBinding(DockableContent.DataContextProperty, dataContextBinding);
Binding contentBinding = new Binding(".");
contentControl.SetBinding(ContentControl.ContentProperty, contentBinding);
this.dockableContents[contentType] = dockableContent;
dockableContent.Closed += delegate(object sender, EventArgs args)
{
contentControl.Content = null;
this.dockableContents[contentType].DataContext = null;
this.dockableContents.Remove(contentType);
};
}
else
{
if (this.dockableContents[contentType].State == DockableContentState.Hidden)
{
this.dockableContents[contentType].Show();
}
}
}