簡體   English   中英

使用devexpress wpf在文檔面板上向左或向右停靠

[英]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.LeftDockType.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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM