这可能是一个非常愚蠢的问题,但我现在根本无法理解这个问题。
我有一个定义应用程序级资源的App.xaml文件:
<Application x:Class="WpfMPManager.App"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
StartupUri="MainWindow.xaml">
<Application.Resources>
<ResourceDictionary>
<ResourceDictionary.MergedDictionaries>
<ResourceDictionary Source="MyDictionnary.xaml"/>
</ResourceDictionary>
</Application.Resources>
由于各种原因,我通过类似的.cs文件启动此应用程序(此文件中实际上还有很多内容)。
[STAThread]
static void Main(params string[] args)
{
App myApp = new App();
MainWindow myWindow = new MainWindow();
myApp.Run(myWindow);
}
但是,当我以这种方式启动应用程序时,我的应用程序资源字典是空的(如果我通过我的App.xml启动应用程序,它们确实已填满)。
我应该在Application对象上调用特定方法来强制它加载.xaml文件中定义的资源字典吗?
提前致谢。
答案 0 :(得分:2)
回答我自己的问题以防万一有人绊倒
似乎调用myApp.InitializeComponent()
就足够了,默认构造函数不会调用它。可以更快地弄明白。