为了账号安全,请及时绑定邮箱和手机立即绑定

在WPF应用程序中,图像中加载的PNG徽标在设计时显示,但在运行时不显示

在WPF应用程序中,图像中加载的PNG徽标在设计时显示,但在运行时不显示

C#
慕哥9229398 2019-09-27 15:49:52
这可能是我所缺少的简单东西。我有一个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>我想念什么?谢谢
查看完整描述

3 回答

?
翻阅古今

TA贡献1780条经验 获得超5个赞

在XAML中指定图像URI时,通常无需编写完整URI。除了其他答案中显示的完整Pack URI外,您还应该可以编写以下代码:


<Image ... Source="images/ServerMainLogo.png"/>

但是,您必须确保图像文件位于imagesVisual Studio项目中命名的文件夹中,并且其Build Action设置为Resource,如本答案所示。


或者,您可以将“ 构建操作”设置为,Content并将“ 复制到输出目录”设置为Copy always或Copy if newer。在这种情况下,映像不会作为资源嵌入到程序的程序集中,而只是复制到相对于可执行文件的目录中。


XAML中的(相对)图像URI在两种情况下均适用。


查看完整回答
反对 回复 2019-09-27
?
斯蒂芬大帝

TA贡献1827条经验 获得超8个赞

siteOfOrigin仅在文件复制到其他executables文件(输出文件夹)所在的位置时使用。对于资源,应application改为使用。


Source="pack://application:,,,/images/ServerMainLogo.png"

请参阅此链接以获取进一步的说明Pack URI。


查看完整回答
反对 回复 2019-09-27
?
喵喵时光机

TA贡献1846条经验 获得超7个赞

确保项目中的图像属性具有“ Build Action” =“ Resource”,而不是“ Embedded Resource”

在xaml中,选择图像标签后,使用属性窗口选择Source下拉列表,因为现在图像出现在下拉列表中!这让Visual Studio为我格式化字符串。Visual Studio格式化的字符串


因为我的形象是:


Source="pack://application:,,,/FamilyExplorer;component/Resources/Folder.png"/>


FamilyExplorer我的项目名称在哪里Resources/Folder.png,图像的位置在哪里。


查看完整回答
反对 回复 2019-09-27
  • 3 回答
  • 0 关注
  • 855 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信