这可能是我所缺少的简单东西。我有一个png文件,我想将其用作WPF窗口中 图像 控件的源。我通过Project Properties> Resources> Add Existing File添加了该PNG文件,然后首先将其作为链接文件添加(然后在它不起作用时嵌入其中)。然后在此为XAML文件中的图像控件添加 Source 。无需代码,只需单击即可。
烦人的问题是,当我设计WPF窗口时,图像会显示出来。当我运行它时,它没有。什么也没出现。
更新:下面添加了XAML代码
<Window x:Class="Server.MainWindow" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" Title="SERVER" Height="467.91" Width="620.522"> <Grid> <Grid.Background> <LinearGradientBrush EndPoint="0.5,1" StartPoint="0.5,0"> <GradientStop Color="#FF080C59" Offset="0"/> <GradientStop Color="White" Offset="1"/> </LinearGradientBrush> </Grid.Background> <Button x:Name="btnConnect" Content="Connect" HorizontalAlignment="Left" Height="30" Margin="425,34,0,0" VerticalAlignment="Top" Width="134" Click="btnConnect_Click"/> <Button x:Name="btnDisconnect" Content="Disconnect" HorizontalAlignment="Left" Height="35" Margin="425,69,0,0" VerticalAlignment="Top" Width="134" Click="btnDisconnect_Click"/> <TextBlock x:Name="txtLog" HorizontalAlignment="Left" Margin="416,160,0,0" TextWrapping="Wrap" VerticalAlignment="Top" Height="161" Width="87" Background="#FFFFF5F5" Text="LOG:"/> <TextBox x:Name="txtMsg" HorizontalAlignment="Left" Height="23" Margin="416,326,0,0" TextWrapping="Wrap" Text="TextBox" VerticalAlignment="Top" Width="112"/> <Button x:Name="btnSend" Content="Send" HorizontalAlignment="Left" Height="35" Margin="425,120,0,0" VerticalAlignment="Top" Width="134" Click="btnSend_Click"/> <ListView x:Name="lsvClients" Height="67" Margin="46,212,260,0" VerticalAlignment="Top"> <ListView.View> <GridView> <GridViewColumn/> </GridView> </ListView.View> </ListView> <Image HorizontalAlignment="Left" Height="100" Margin="31,10,0,0" VerticalAlignment="Top" Width="101" Source="pack://siteoforigin:,,,/images/ServerMainLogo.png"/> </Grid> </Window>
我想念什么?谢谢
在XAML中指定图像URI时,通常无需编写完整URI。除了其他答案中显示的完整Pack URI外,您还应该可以编写以下代码:
<Image ... Source="images/ServerMainLogo.png"/>
但是,您必须确保图像文件位于imagesVisual Studio项目中命名的文件夹中,并且其Build Action设置为Resource,如本答案所示。
images
Resource
或者,您可以将“ 构建操作” 设置为,Content并将“ 复制到输出目录”设置 为Copy always或Copy if newer。在这种情况下,映像不会作为资源嵌入到程序的程序集中,而只是复制到相对于可执行文件的目录中。
Content
Copy always
Copy if newer
XAML中的(相对)图像URI在两种情况下均适用。