1

我是 C# 相对较新的建筑师,我正在尝试在我自己的工具栏中实现 Ehsan Iran-Nejad 令人惊叹的 PyRevit 彩色选项卡。

https://github.com/eirannejad/pyRevit/blob/12ecea9096bb649e2b6f084ba82ba1284bc78667/extensions/pyRevitTools.extension/pyRevit.tab/Toggles.panel/toggles1.stack/Tab%20Coloring.smartbutton/script.py

https://github.com/eirannejad/pyRevit/blob/12ecea9096bb649e2b6f084ba82ba1284bc78667/extensions/pyRevitTools.extension/pyRevit.tab/Toggles.panel/toggles1.stack/Tab%20Coloring.smartbutton/script.py

对我来说不幸的是,这将返回 null:

    public static Xceed.Wpf.AvalonDock.DockingManager GetDockingManager(UIApplication uiapp)
    {
        var wndRoot = (MainWindow)UIAppEventUtils.GetWindowRoot(uiapp);

        if (wndRoot != null)
        {
            return MainWindow.FindFirstChild<Xceed.Wpf.AvalonDock.DockingManager>(wndRoot);
        }
        return null;
    }

从外部命令启动:

[Autodesk.Revit.Attributes.Transaction(Autodesk.Revit.Attributes.TransactionMode.Manual)]
public class StartGroupingTabsExt : IExternalCommand
{
    public Result Execute(ExternalCommandData commandData, ref string message, ElementSet elements)
    {
        if(DocumentTabEventUtils.IsUpdatingDocumentTabs)
        {
            DocumentTabEventUtils.StopGroupingDocumentTabs();
        }
        else
        {
            DocumentTabEventUtils.StartGroupingDocumentTabs(commandData.Application);
        }        

        return Result.Succeeded;
    }
}

我看不出出了什么问题,任何建议将不胜感激。

干杯,

标记

4

1 回答 1

0

当我构建类似的东西时,我也发生过类似的事情。我从 nuget 引用了 xceed.wpf.avalondock 库,这就是导致它的原因。也许你做了同样的事情?如果我改为引用 Revit 安装文件夹中的 dll,则它可以正常工作。

于 2020-08-01T16:50:08.313 回答