如何在main()中创建主窗口的控制台应用程序中管理资源?

时间:2013-09-13 17:09:01

标签: c# wpf winforms xaml

在我的应用程序中,我必须在Program.Main()中创建主窗口(进而动态创建其他控件)。我在访问放置在App.xaml中的资源(例如样式)时遇到问题。 VS2010 IDE可以在其设计器中找到资源,但是当我运行应用程序时,我得到一个异常,即找不到给定的资源。

如果我将资源复制到特定的xaml文件(例如用户控件,窗口,页面等),那么资源正在按预期工作。但是,我想避免在每个使用它的xaml文件中复制单个资源。

另外,如果我创建一个非控制台应用程序(例如wpf),那么App.xaml中的相同资源可以正常工作。

有人可以指出我正确的方向吗? 感谢。

1 个答案:

答案 0 :(得分:0)

感谢slugster的帖子Access ResourceDictionary items programmatically我能够在我的应用程序加载的事件中以编程方式加载资源。 例如:

            ResourceDictionary dict = new ResourceDictionary();
            dict.Source = new Uri("../Resources/PageDictionary.xaml", UriKind.Relative); 
            Application.Current.Resources.MergedDictionaries.Add(dict);

我不确定这是否是最佳解决方案,但它可以实现我想要的效果。