WPF splashScreen 加载跨项目图片
时间: 2024-12-15 17:21:17 浏览: 15
WPF (Windows Presentation Foundation) 中的 Splash Screen(启动画面)通常用于程序加载初始界面之前提供视觉反馈给用户。如果你想要在 Splash Screen 上显示来自另一个项目的图片,你需要做以下几个步骤:
1. **添加图片资源**: 将图片文件(例如 .png 或 .xaml 图片文件)复制到主项目(即包含 SplashScreen 的项目)的 Resources 文件夹中。这可以作为应用程序内的静态资源。
2. **在 XAML 中引用图片**: 在 SplashScreen.xaml 文件里,使用 `<Image>` 控件并设置其 `Source` 属性为相对路径或打包资源的 URI。例如:
```xml
<Image x:Name="SplashImage" Source="/Images/SplashScreenImage.png" />
```
3. **加载图片**: 在 SplashScreen 类的构造函数或其他适当的地方,你可以动态地设置 Image 的 Source。如果图片位于其他项目,则需要使用 `Assembly.GetExecutingAssembly().GetManifestResourceStream()` 获取资源流:
```csharp
string assemblyPath = "Images.SplashScreenImage.png";
using (Stream stream = Assembly.GetExecutingAssembly().GetManifestResourceStream(assemblyPath))
{
BitmapImage bitmapImage = new BitmapImage(new Uri($"pack://application:,,,/{assemblyPath}"));
SplashImage.Source = bitmapImage;
}
```
4. **等待初始化完成**: 确保 SplashScreen 显示足够长的时间,让用户看到图片,直到整个应用初始化完毕。可以用计时器控制显示时间,或者在后台处理初始化任务,完成后隐藏 SplashScreen。
阅读全文