使用devexpress wpf为文档面板设置左坞或右坞
本文关键字:设置 devexpress wpf 文档 使用 | 更新日期: 2023-09-27 18:04:46
我动态地将documentpanel添加到docklayoutmanager管理器中的文档组中,所有这些管理器中都包含用户控件。现在,我已经停靠在某个地方或其他地方,但除了两个包含某种图表的文档面板外,它们都不能移出。基本上,它们都是靠在一起的,它们可以漂浮起来,也可以停靠到原来的位置。但是如何使它只停靠在左边或右边,而不是顶部底部或选项卡。
我是这样动态创建这些面板的:
private void History()
{
string guid = System.Guid.NewGuid().ToString("N");
while (char.IsDigit(guid[0]))
guid = System.Guid.NewGuid().ToString("N");
HistoryViewModel historyViewModel = new HistoryViewModel
{
Caption = "History",
MinWidth = 300,
MinHeight = 200,
ViewName = "History",
HistoryImage = layoutFilePath.calenderImage,
BindableName = guid,
CanDrag = true,
CanDock = true,
CanFloat = true
};
((IMVVMDockingProperties)historyViewModel).TargetName = "PanelHost";
WidgetList.Add(historyViewModel);
}
历史视图模型只是一个从用户控件中获取的视图模型。
提前感谢您的帮助!
在DockLayoutManager
中,您可以使用DockLayoutManager.DockItemDocking
事件。只需检查DockItemDockingEventArgs.DockType
属性。如果不等于DockType.Left
或DockType.Right
,则将DockItemDockingEventArgs.Cancel
属性设置为false
。
下面是示例:
private void DockLayoutManager_DockItemDocking(object sender, DockItemDockingEventArgs e)
{
e.Cancel = e.DockType != DockType.Left && e.DockType != DockType.Right;
}