C# 尝试从Winforms打开WPF窗口时发生XamlParseException
我在一个解决方案中有一个Winforms项目和多个WPF项目。在Winform应用程序中,我想打开一个WPF窗口(如果有必要的话,它是Mahapps的MetroWindow) 在查看了被接受的答案后,我最终得到了以下代码:C# 尝试从Winforms打开WPF窗口时发生XamlParseException,c#,wpf,winforms,C#,Wpf,Winforms,我在一个解决方案中有一个Winforms项目和多个WPF项目。在Winform应用程序中,我想打开一个WPF窗口(如果有必要的话,它是Mahapps的MetroWindow) 在查看了被接受的答案后,我最终得到了以下代码: OpenWPFAppButton_Click(object sender, EventArgs e) { WPFApp wpfApp = new WPFApp(); ElementHost.EnableModelessKeyboardInterop(wpfAp
OpenWPFAppButton_Click(object sender, EventArgs e)
{
WPFApp wpfApp = new WPFApp();
ElementHost.EnableModelessKeyboardInterop(wpfApp);
wpfApp.Show();
}
不幸的是,如果单击该按钮,会出现XamlParseException,它指向WPFApp.xaml(主xaml文件)中的第一行Style=“{StaticResource…}”
这是否意味着我无法从包含静态资源的Winforms打开WPF窗口?还是我遗漏了一些简单的东西
编辑:以下是App.xaml文件的内容:
<Application x:Class="WPFAppProjectName.App"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:system="clr-namespace:System;assembly=mscorlib"
StartupUri="WPFApp.xaml">
<Application.Resources>
<ResourceDictionary>
<ResourceDictionary.MergedDictionaries>
<ResourceDictionary Source="pack://application:,,,/Selen.Wpf.SystemStyles;component/ButtonStyles.xaml"/>
<ResourceDictionary Source="pack://application:,,,/Selen.Wpf.SystemStyles;component/MenuStyles.xaml"/>
<ResourceDictionary Source="pack://application:,,,/Selen.Wpf.SystemStyles;component/TextBoxStyles.xaml"/>
</ResourceDictionary.MergedDictionaries>
</ResourceDictionary>
</Application.Resources>
很可能在App.xaml
中定义了一些公共资源。在Windows窗体中运行时未加载该文件,因此这些资源不可用。因此,您会得到这个错误
您可以在窗口.xaml文件中包含资源定义,也可以在每个窗口中包含自己的通用样式资源文件(也称为资源字典)。谢谢您的帮助!我已将App.xaml代码添加到我的问题中。在那里你可以看到一些资源包的链接。请告诉我,如何将这些直接包含在我的Window.xaml文件中?这可能吗?当然。在Application.Resources
之间复制整个代码,并将其复制到窗口中。将应用程序
重命名为窗口
。当我在应用程序.资源
之间复制代码时,没有应用程序
可重命名,或者您指的是包括应用程序.资源
标记在内的所有内容吗?