为什么只有在重新启动On Startup时才将Application-Resources加载到单独的文件中?

时间:2014-05-21 15:02:29

标签: c# wpf xaml resourcedictionary

在App.xaml中( no StartupUri ):

...
<Application.Resources>
    <ResourceDictionary Source="AppResources.xaml"/>
</Application.Resources>
...

这确实有效但直接在ResourceDictionary中声明Application.Resources不会:

...
<Application.Resources >
    <ResourceDictionary>
        ...
    </ResourceDictionary>
</Application.Resources>
...

App.xaml.cs中的OnStartup:

protected override void OnStartup(StartupEventArgs e)
    {
        base.OnStartup(e);
        if (e.Args.Length > 0)
        {
            // Handle args and start headless.
        }
        else
        {
            // Create window.
            new Views.ShellWindow().ShowDialog();
        }
        this.Shutdown();
    }

如何解决此问题?

编辑:我使用的是Visual Studio 2013 Professional。

1 个答案:

答案 0 :(得分:0)

显然,存在一个VS代码生成错误,其中有时未插入连接到程序其余部分所需的代码

  • 应用程序在App.xaml和
  • 中没有设置StartupUri属性
  • App.xaml
  • 部分只有一个资源

可能的解决方法是使用事件而不是覆盖OnStartup,有关详细信息,请参阅WPF - App.xaml file does not get parsed if my app does not set a StartupUri?