#c#
#c#
Вопрос:
Этот код C # выдает мне сообщение об ошибке, что строка не содержит определения для AddItem. Я пытался добавить другой идентификатор, но я не знаю, какой именно.
C#:
const string RIBBON_TAB = "HILLAM TAB";
const string RIBBON_PANEL = "Ribbon button";
public object ToolTip {
get;
private set;
}
public BitmapSource Png {
get;
private set;
}
// Both OnStartup and OnShutdown must be implemented as public method
public Result OnStartup(UIControlledApplication a) {
//get the ribbon tab
try {
a.CreateRibbonTab(RIBBON_TAB);
}
catch(Exception) {} //tab already exists
// Add a new ribbon panel
RibbonPanel panel = null;
List < RibbonPanel > panels = a.GetRibbonPanels(RIBBON_TAB);
foreach(RibbonPanel pnl in panels) {
if (pnl.Name == RIBBON_PANEL) {
panel = pnl;
break;
}
}
if (panel == null) {
panel = a.CreateRibbonPanel(RIBBON_TAB, RIBBON_PANEL);
}
// Create a push button to trigger a command add it to the ribbon panel.
string thisAssemblyPath = Assembly.GetExecutingAssembly().Location;
PushButtonData buttonData = new PushButtonData("cmdHelloWorld", "Hello World", thisAssemblyPath, "RevitAddin1.HelloWorld");
PushButton pushButton = RIBBON_PANEL.AddItem(buttonData) as PushButton;
// Optionally, other properties may be assigned to the button
// a) tool-tip
pushButton.ToolTip = "Say hello world.";
Я ожидаю нажать на панель, и откроется новое окно с сообщением: «Скажи привет, мир».
Комментарии:
1. Попробуйте изменить
RIBBON_PANEL.AddItem
наpanel.AddItem
.2. Привет Idle_Mind. Спасибо за ваше предложение. Это немного помогло, так как ошибка исчезла, но моя панель вкладок переместилась в неправильное место на ленте. Я хотел, чтобы инструмент находился под HILLAM_TAB, но он перешел на вкладку Внешние инструменты хм, есть идеи, почему?
3. Я понятия не имею. Я просто проанализировал ваш пост и вывел, какую переменную вам нужно использовать, на основе кода и его комментариев. Я вообще не знаком с тем, что вы делаете.