我的项目中有一张图片。
在解决方案资源管理器中,我创建了一个名为“资源”的文件夹,我在该文件夹中添加了一个图像。
我想将图像设置为该文件夹中的文件。这是我的C#代码
BitmapImage splashScreenImageSource = new BitmapImage();
splashScreenImageSource.BeginInit();
splashScreenImageSource.UriSource = new Uri("world_splash.jpg", UriKind.Relative);
splashScreenImageSource.EndInit();
splashScreenImage.Source = splashScreenImageSource;
当我跑步时,没有任何反应。
这是我的XAML代码
<Window x:Class="Bail.SplashScreen"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="MainWindow" Height="256" Width="456" Background="#00005555" AllowsTransparency="True" WindowStyle="None" WindowStartupLocation="CenterScreen" >
<Grid Width="Auto">
<Grid.RowDefinitions>
<RowDefinition Height="*" />
</Grid.RowDefinitions>
<Image x:Name="splashScreenImage" Stretch="Fill" Grid.Row="0" />
</Grid>
</Window>
感谢您的帮助。 如果您需要查看
,这是App.xaml<Application x:Class="Bail.App"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
StartupUri="SplashScreen.xaml">
<Application.Resources>
</Application.Resources>
</Application>
答案 0 :(得分:1)
我认为您必须在图像路径中指定子目录。你说它在“资源”中。所以尝试使用:
splashScreenImageSource.UriSource = new Uri("Resources/world_splash.jpg", UriKind.Relative);
编辑:您必须将文件类型设置为资源才能使其生效。如果您希望将其作为文件系统中的文件(而不是嵌入在程序集中),则必须使用包uri,例如:
splashScreenImageSource.UriSource = new Uri("pack://siteoforigin:,,,/Resources/world_splash.jpg", UriKind.Relative);
在这种情况下,请确保已设置文件的“复制到输出目录”选项。
还考虑直接从XAML进行初始化。它看起来更干净,需要更少的代码:
<Image x:Name="splashScreenImage" Stretch="Fill" Grid.Row="0" Source="Resources/world_splash.jpg" />