[英]make dock left or right for a document panel with devexpress wpf
我正在將文檔面板動態添加到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;
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.