事实
我尝试使用MAF制作一个托管AddIns
(传统WinForm exe' s)的主机应用程序(例如Add-ins and Extensibility)
AddIn
激活是在以下过程中完成的:
addinToken.Activate<PluginHostView>(new AddInProcess(), AddInSecurityLevel.FullTrust);
在主机应用程序中跟踪插件并在TooStripMenu
中显示它们。
主机应用程序中的ToolStripMenuitem.Click
事件会触发PlugIn.ShowMainDialog()
- AddIn
合同中的(sender as PluginToolStripMenuItem).PlugIn.ShowMainDialog();
方法:
AddIn
public override void ShowMainDialog()
{
new Form1().Show();
}
X项目(WinForm应用程序)在包含以下内容的类中实现合同:
AddIn
运行上述主机应用程序会导致X Form
new AddInProcess()
和进程挂起,很难找出错误: - (
问题
是否有任何使用AddIns
来托管WinForms
{{1}}的工作样本?
答案 0 :(得分:0)
在MAF中显示无模式表格不是很简单。我找到的最简单方法是生成一个新线程并在该线程上执行ShowDialog
:
Thread t = new Thread(()=>
{
var f = new Form1();
f.ShowDialog();
});
t.SetApartmentState(ApartmentState.STA);
t.Start();