Revit 可停靠窗格对最小宽度没有反应

Posted

技术标签:

【中文标题】Revit 可停靠窗格对最小宽度没有反应【英文标题】:Revit Dockable pane does not react for min width 【发布时间】:2021-07-09 13:08:42 【问题描述】:

我有 DockPosition=Rigth 和 MinWidth=300 的可停靠窗格。 当窗格连接到 Revit 时一切正常,但是当我使用鼠标移动它并且 DockPosition 更改为 Floating 时,面板不会对 MinWidth 做出反应并将宽度更改为 ~100。

xaml behind

xaml

【问题讨论】:

【参考方案1】:

如何注册面板?如果您还没有尝试过,可以在应用程序初始化后尝试注册面板。

UIControlledApplication _uiControlledApplication = null;
public Result OnStartup(UIControlledApplication application)

    _uiControlledApplication = application;
    application.ControlledApplication.ApplicationInitialized += OnApplicationInitialized;          
    return Result.Succeeded;


private void OnApplicationInitialized(object sender, EventArgs e)

    RegisterDockableWindow(_uiControlledApplication);


private void RegisterDockableWindow(UIControlledApplication app)

    //app.RegisterDockablePane(....)

【讨论】:

是的,我的面板已经注册,当用户将面板从停靠位置移动到浮动位置时出现宽度问题。 我的意思是,如果您在应用程序初始化之前减慢面板注册速度,那么最小高度和宽度可能会被 revit UI 成功批准。我知道您已成功注册面板。我还观察到初始面板大小仅适用于第一个特定的停靠面板 guid 注册。当您关闭并打开 revit 时,默认面板大小将设置为以前使用的值。

以上是关于Revit 可停靠窗格对最小宽度没有反应的主要内容,如果未能解决你的问题,请参考以下文章

在 CChildFrame 中创建的可停靠窗格在第二次应用时不可见。开始

Avalondock 第二步 创建文档面板

在最小化到停靠后恢复 Qt 应用程序,使用 OS X 上的停靠快捷方式

将控制栏/窗格停靠到 CMDIFrameWndEx?

在 HTML 中进行拆分窗格的最佳方法 [关闭]

Revit 插件 OnStartUp