Я только что закончил, выполнив действия, описанные в этой статье MSDN, по созданию надстройки пользовательского интерфейса WPF: http://msdn.microsoft.com/en-us/library/bb909849%28v=vs.90%29.aspx
Код работает, нажатие кнопки вызывает всплывающее окно, вызывает его.Я поместил пользовательский контроль надстройки в элемент вкладки, так как содержимое элемента вкладки:
TabItem tab = new TabItem();
tab.Name = info.AssemblyName.Name;
tab.Header = info.Name;
tab.Content = plug.GetAddInUI();
TabHost.Items.Add(tab); //Add the page to the TabControl
Это работало отлично, как и ожидалось.Однако, когда вы нажимаете кнопку, происходит интересная вещь.Появляется окно сообщения, но затем элемент управления вкладки "зависает".Я не могу переключиться на другие вкладки.Кнопка по-прежнему вызывает окно сообщения, и я могу переместить все окно, чтобы программа не зависла.
Я могу «заставить» элемент управления вкладками исправить себя, войдя в режим прерывания через VS, затем возобновивпрограмма, или сворачивая / восстанавливая окно, т. д.
Я прочитал посты об обработке событий, блокирующих MessageBox, поэтому я изменил Messagebox на Debug.Writeline.Ошибка все еще сохраняется.
Мой код соответствует MSDN почти до буквы, однако, поскольку он довольно длинный, я бы воздержался от публикации всего этого здесь.В то же время я не уверен, какие сегменты актуальны.Если вы скажете мне, какие части отправлять, я сделаю это.