从VSTO outlook插件打开WPF表单

我在Thisaddin.cs中有这个代码

public void Search(string input) { ServerList listofservers = new ServerList(); listofservers.Visibility; } 

ServerList是一个简单的WPF表单,其中包含listbox但是如何显示listofservers

我找不到listofserver.show();

在此处输入图像描述

首先,没有名为WPF Form的项目,只有WPF的用户控件。 因此,一旦在XAML中创建了WPF UserControl,您就会注意到这是代码

       

所以我通过XAML代码看了一下。 因此,您可以看到整个事情是USERCONTROL,您必须将其更改为WINDOW,然后您将能够看到.Show()

但请注意,您还必须更改xaml.cs中的代码

因为它默认是这样的

 public partial class ServerList : UserControl 

将其更改为

 public partial class ServerList : Window 

很明显的原因!! 🙂

您也可以在布局面板中托管它,例如:

  1. 在Windows窗体设计器中打开Form 1。
  2. 在“工具箱”中,将TableLayoutPanel控件拖到for上
  3. 在TableLayoutPanel控件的智能标记面板上,选择“删除最后一行”。
  4. 将TableLayoutPanel控件的大小调整为更大的宽度和高度。
  5. 在工具箱中,双击UserControl1以在TableLayoutPanel控件的第一个单元格中创建UserControl1的实例。
  6. UserControl1的实例托管在名为elementHost1的新ElementHost控件中。
  7. 在“工具箱”中,双击“UserControl1”以在TableLayoutPanel控件的第二个单元格中创建另一个实例。
  8. 在“文档大纲”窗口中,选择tableLayoutPanel1。 有关更多信息,请参阅文档大纲窗口。
  9. 在“属性”窗口中,将“填充”属性的值设置为10,10,10,10。
  10. 两个ElementHost控件都resize以适应新布局。