我正在尝试将此 WPF 应用程序转换为 WPF UserControl,以便我可以通过 ElementHost 在 WinForms 应用程序中使用它。我是 WPF 新手,在此尝试之前从未接触过它,所以我可能会以完全错误的方式进行操作。
我得到了要编译的 UserControl 项目,但是,我的 StaticResources 在 VS 中得到下划线,并带有消息“资源'x'无法解析”。我已经尝试将带有所需 x:Key 元素的 xamls 向上移动一级(与 UserControl Dijagram.xaml 相同的级别),但它仍然无法解决它们。
在 WinForms 应用程序中,当尝试通过在 ElementHost 任务中选择托管内容来通过设计器添加 UserControl 时,我收到以下错误:
尝试创建“DijagramLC.Dijagram”类型的对象时发生错误。确保该类型具有默认构造函数。
(即使存在默认构造函数)。
但是,如果我在代码隐藏中添加它,如下所示:
wpfUserControl = new Dijagram();
elementHost1.Child = wpfUserControl;
Controls.Add(elementHost1);
代码编译但抛出此运行时错误:“ System.Windows.Markup.XamlParseException: 'Provide value on 'System.Windows.StaticResourceExtension' 引发异常。' 行号“20”和行位置“4”。---> System.Exception:找不到名为“MyToolbar”的资源。资源名称区分大小写。 ”
我尝试过使用和不使用 App.xaml 并为有问题的 xaml 添加 ResourceDictionary 元素,但基本上,我不知道我在做什么:)
我已将代码上传到我的 SkyDrive,如果有人能看一下并告诉我我做错了什么,我将不胜感激: https://skydrive.live.com/redir.aspx?cid=21be1f8e850e85cc&resid=21BE1F8E850E85CC! 353
我讨厌像这样盲目地跳入新技术,但这次我别无选择,我需要知道我的要求是否可以通过这种方式实现。