Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/wpf/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# WPF设计者如何知道使用哪种资源?_C#_Wpf_Xaml - Fatal编程技术网

C# WPF设计者如何知道使用哪种资源?

C# WPF设计者如何知道使用哪种资源?,c#,wpf,xaml,C#,Wpf,Xaml,我有一个没有application.xaml的WPF应用程序,因为我需要自己完成Main()方法。因此,我既没有ApplicationDefinition,也没有应用程序资源。我当前在应用程序启动时将资源字典附加到应用程序 当然,WPF设计师现在抱怨缺少资源 所以我想解决两个问题: -我不想在启动时手动附加资源字典 -我想让资源在WPF设计器的设计时也能工作 对这个问题有什么帮助吗 谢谢 Martin您可以自己使用Main()方法 只需从Application.xaml的xamlcode中删除以

我有一个没有application.xaml的WPF应用程序,因为我需要自己完成Main()方法。因此,我既没有ApplicationDefinition,也没有应用程序资源。我当前在应用程序启动时将资源字典附加到应用程序

当然,WPF设计师现在抱怨缺少资源

所以我想解决两个问题: -我不想在启动时手动附加资源字典 -我想让资源在WPF设计器的设计时也能工作

对这个问题有什么帮助吗

谢谢
Martin

您可以自己使用Main()方法

只需从Application.xaml的xamlcode中删除以下属性:

StartupUri="MainWindow.xaml"
public partial class App : Application
  {

    protected override void OnStartup(StartupEventArgs e)
    {
      // My code goes here, but nothing ever happens.

      base.OnStartup(e);
    }
  }
然后在Application.xaml的代码隐藏中添加以下内容:

StartupUri="MainWindow.xaml"
public partial class App : Application
  {

    protected override void OnStartup(StartupEventArgs e)
    {
      // My code goes here, but nothing ever happens.

      base.OnStartup(e);
    }
  }

现在,您仍然可以使用Application.xaml作为您的资源,并拥有特定的启动过程。

好吧。。。显而易见的解决方案是使用
App.xaml
-你不使用它有什么好的理由吗?问题是我需要花很多时间才能启动应用程序(许可证检查、更新检查、单实例等。当在启动时使用应用程序时,这会使所有事情变得更加复杂。很抱歉发布误导性的vb.net代码。更改了它,感谢您的指出。嗨,Basti。我正在尝试您的解决方案,但仍然有一个主()是在g.cs代码中创建的。我更多考虑的是一个带有属性的解决方案,以摆脱Main()方法。