我需要让我的SplashScreen显示来自硬盘的图像(因为我将使用多个图像,这些图像可能会在项目之外更改)。但是WPF SplashScreen只接受存在于此程序集或其他程序集中的资源文件。
那么,我该如何解决呢?也许,有一些方法可以在运行时创建临时资源文件吗?
答案 0 :(得分:1)
我不认为这可以按照您的意愿完成,但是,可以创建一个单独的程序集,可以随时更改,包含资源,使用:
答案 1 :(得分:1)
实现此目标的最佳方法是根本不使用启动画面功能。
创建一个新的XAML窗口,并将其大小调整为您希望启动画面的大小。然后,您可以使用它来引用您想要的图像。这也可以在加载时从代码隐藏完成。
准备好后,让主窗口启动启动画面,这是它的第一件事。让它加载你需要的一切,然后显示主窗口并关闭启动画面窗口。
通过这种方式,您可以完全控制“启动画面”,因为它只是您正在加载的另一个窗口。
这样做的一个缺点是它可能有一个非常小的(.5秒左右)延迟,因为WPF必须在窗口显示之前加载。实际的启动画面不是WPF,因此会立即显示。这对我来说从来都不是问题。