【问题标题】:Visual Studio 2008 Outlook 2007 AddIn with WPF Window带有 WPF 窗口的 Visual Studio 2008 Outlook 2007 插件
【发布时间】:2010-03-05 20:43:51
【问题描述】:

我无法在任何地方找到很多关于此的内容。首先让我说我不想使用旧的 Windows 窗体。我想在 Visual Studio 2008 中的 Outlook 2007 插件项目中添加一个新的 WPF 窗口。但是 WPF 窗口模板没有显示。我正在关注本教程:http://msdn.microsoft.com/en-us/library/bb410039.aspx,其中甚至有一张关于如何将新的 wpf 窗口添加到 Outlook 2007 插件的图片。唯一的问题是它适用于 Visual Studio 2005。微软肯定没有从 Visual Studio 2008 中删除此功能。我一定是做错了什么。

有人对我可以从这里去哪里有任何想法或建议吗?

我也找不到关于 msdn 使用 Visual Studio 2008 的类似教程,这也会很有帮助。

【问题讨论】:

    标签: wpf visual-studio-2008 vsto outlook-2007 outlook-addin


    【解决方案1】:

    (答案完全重写)

    您是对的,VS 2008 不再在加载项中列出“WPF 窗口”模板。幸运的是,它仍然列出了“WPF 用户控制”模板。用它。这将为项目添加必要的引用。

    然后将生成的 XAML 文件(在我的例子中是 UserControl1.xaml)的内容替换为图 5 中的内容(+ 结束标记)。现在,您在 XAML 中拥有一个 Window,而不是声明 UserControl。您还需要编辑生成的 C# 文件。将类名(对我来说是 UserControl1)替换为教程中的名称 (Window2) 及其构造函数。将派生从 UserControl 更改为 Window。这是最终结果:

    public partial class Window2 : Window {
        public Window2() {
            InitializeComponent();
        }
    

    .cs 中的命名空间和类名必须与 XAML 中的 x:Class 声明相匹配。

    现在,按照教程说的(不要忘记调整图片文件的路径,否则不起作用。教程中的原行是:

    imageSource.UriSource = new Uri(@"C:\Fulvio\img\yast_suse_tour.png");
    

    设置硬盘驱动器上现有图像的路径。

    然后它就起作用了!

    我必须补充一点,本教程是在 VS 有 XAML 设计器之前编写的。不再需要像教程那样手动添加控件。添加用户控件,将其更改为窗口,然后使用工具箱和拖放控件,就像您可能习惯的那样。

    但就创建 Outlook 插件而言,该教程很棒。

    【讨论】:

    • 我有点困惑。我的问题是我无法将 wpf 表单添加到项目中。当您执行新项目时,它不会显示在模板中。在我看来,msdn 文章添加了 wpf 表单而不是 windows 表单。我几乎要放弃并添加一个 Windows 窗体,它确实显示在模板中。它看起来像一个非常有用的教程。我在各个地方都看到过同样的问题,为什么 wpf 窗口在添加新项目时不显示。从来没有任何遮阳篷。
    • 你说得对,我看文章太快了(创建窗体的部分叫做'创建窗口窗体',我解释为'创建WinForm')。我正在尝试教程,我会回来找你的。请注意,将项目添加到项目时,会出现“WPF 用户控件”模板。
    • 感谢您的帮助。我最终开始寻找将 wpf 表单添加到任何类型的项目的方法。我找到了一个我作为答案发布的工作。它确实涉及使用该 WPF 用户控件,并且只是用 window.replace 替换所有内容。然后我就可以添加代码来显示窗口了。
    • 我实际上是通过阅读i-think22.net/archives/2008/08/05/… 找到了遮阳篷,但既然你帮了我这么多,而且你的回答比我想的更完整。我已将您的答案标记为答案。
    • 谢谢,这篇文章是一个我不知道的好链接。
    【解决方案2】:

    我真的不喜欢这个解决方案,但它确实有效。我找到了http://www.i-think22.net/archives/2008/08/05/adding-wpf-windows-to-an-existing-windows-form-project/。那篇文章谈到了将 wpf 表单添加到现有的 Windows 表单项目中。我刚刚添加了 wpf 用户控件,这是它提供的唯一选项。然后我将用户控件重命名为窗口。更新了参考资料,它可以工作了。

    唯一的问题是,我不应该这样做......我仍然希望其他人能想出更好的东西。

    【讨论】:

    • 我不知道你在说什么,但我的解决方案只适用于 wpf
    猜你喜欢
    • 2013-11-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-02-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多