Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/visual-studio-2010/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Wpf 图像在Visual Studio designer中显示,但在运行时不显示_Wpf_Visual Studio 2010_Image_Xaml - Fatal编程技术网

Wpf 图像在Visual Studio designer中显示,但在运行时不显示

Wpf 图像在Visual Studio designer中显示,但在运行时不显示,wpf,visual-studio-2010,image,xaml,Wpf,Visual Studio 2010,Image,Xaml,我目前在VS studio 2010、.NET 4.0中工作。以下是我的设想: 我目前有一个名为“Images”的类库项目,其中包含一个名为“Icons”的子文件夹。“我的所有图标当前都位于此项目中,多个项目可通过siteoforigin访问这些图标。在设计器中,一切都显示良好,但在运行时,图像不会显示 以下是我的文件夹结构: 根文件夹 图像 图标 项目1 项目2 项目3 所有项目都引用Images类库。proj,并且“Images”项目中“icons”子文件夹中的所有图标都设置为:

我目前在VS studio 2010、.NET 4.0中工作。以下是我的设想:

我目前有一个名为“Images”的类库项目,其中包含一个名为“Icons”的子文件夹。“我的所有图标当前都位于此项目中,多个项目可通过siteoforigin访问这些图标。在设计器中,一切都显示良好,但在运行时,图像不会显示

以下是我的文件夹结构:

  • 根文件夹
    • 图像
      • 图标
    • 项目1
    • 项目2
    • 项目3
所有项目都引用Images类库。proj,并且“Images”项目中“icons”子文件夹中的所有图标都设置为:“Build Action=Resource”

xaml如下所示(在设计期间完全可见):


siteoforigin
用于复制到可执行目录或子目录的文件,就我所知,您应该使用
应用程序的资源

路径:源文件的站点的名称,包括其相对于启动可执行程序集的位置的路径


您也可以简单地使用相对路径:

<Button Name="Button1" Click="Button1_Click">
    <Button.Content>
        <Image Source="Icons/Button1.png" />
    </Button.Content>
</Button>


可能映像没有将生成操作设置为资源。如果是其他内容,包括嵌入式资源,那么它在运行时将无法正确显示。

它可能与我今天早些时候所做的一样简单。我将文件放在文件夹中,而没有在解决方案中引用它。它在设计过程中显示得很好。

我来这里是为了得到我的设计时图像数据(反问题)


ImagePath=”pack://application:,,,/MyApplicationName;component/Images/Icons/Button1.png“
除了将
构建操作设置为
资源
复制到输出目录
设置为
复制如果更新

如果您使用的是DLL中的图像,确保dll项目的属性中有默认的资源文件设置。并将其访问修饰符更改为public。 另外,将映像生成操作设置为“资源”

  • 只需将文件夹“图标”拖放到项目“图像”中即可
  • 使用相对路径:Image Source=“Icons/Button1.png”
  • 我也有同样的问题。
    现在开始工作了……
    试试这个:

    <Button x:Name="b2" HorizontalAlignment="Left" VerticalAlignment="Top"
        Width="26" Height="29"> 
        <Button.Background> 
            <ImageBrush ImageSource=" a.png"/> 
        </Button.Background>
    </Button>
    

    这让我抓狂。根据不同的文章,我尝试了很多不同的方法,但都没有效果。我的xaml窗口和映像与可执行程序集位于单独的DLL中。不确定这是否是我的问题的一部分

    最后,我在以下方面取得了成功:

  • 确保项目中的图像属性具有“Build Action”=“Resource”,而不是“Embedded Resource”
  • 在xaml中,选中图像标记后,使用属性窗口选择源下拉列表,因为现在图像显示在下拉列表中!这让VisualStudio为我格式化字符串 visual studio为我的图像格式化的字符串为:

    <Image Source="/Paperless.Common;component/Resources/Checkbook.png" />
    
    
    

    其中,“Paperless.Common”是我的程序集名称,“Checkbook.png”是我的图像,它位于“Resources”文件夹中。

    好吧,我在这个问题上花了3个多小时的时间。 你的回答帮助我部分解决了这个问题,这也促使我加入到这个有用的讨论中

    我的问题解决如下:

  • 选择解决方案资源管理器资源中的所有图像
  • 右键单击并转到“属性”
  • “嵌入式资源”的构建操作
  • 复制到输出到“始终复制”
  • 保存并生成解决方案
  • 添加图像并注意ZIndex值
  • 在所有这些之后,当我多次使用该图像或尝试在同一图像控件上更改为另一个图像时,我发现我自己在XAML或图像控件属性中将图像的路径更改为:

    source="pack:://siteoforigin:,,,/Resources/image.png"
    

  • 答案都很好。我没有看到上面这篇文章,虽然它简单而明显,但它肯定会引起原始文章的症状。我们匆忙的时候很容易忘记


    如果将图像拖放到项目中,请确保文件已“包含在项目中”。从上下文菜单中很快就可以使用它。

    1-将文件图像属性更改为资源,{右键单击图像文件->选择属性->将生成操作切换到资源

    2-使用此标签显示图像

     <Image Source="pack://application:,,,/[Put here the Main Namespace];component/[File path]"/>
    
    
    
    范例

    <Image Source="pack://application:,,,/My;component/Resources/switch-off.png"/>
    

    如果您尝试了此处提到的某些修复,但没有任何效果,请尝试清理和重建您的解决方案。我只是忘记了将图像添加到项目中(创建图像文件夹,右键单击文件夹->添加现有的->单击图像)


    在我进行清理和重建之前,这并没有解决它。

    在我的情况下,我只需遵循两个步骤(属性窗口):
    1) 将生成操作(所有资源文件)更改为“资源”;

    2) (再次)在“源”字段中选择所需的图像。

    请检查图像是否包含在解决方案中。如果未包含图像,请单击“显示解决方案中的所有文件”,然后右键单击图像并选择“包含在项目中”选项。 之后,它也将使用相对路径

    例:

    “Source=“/Images/Logo/close.png”

    以下几点对我很有用:

    •构建行动=资源

    •复制到输出目录=不复制

    xaml:

    <Image Source=“Rsources/myPic.png”/>
    
    
    
    其中“myPic.png”是UWP中“Resources”文件夹中的图像,对于构建操作没有“Resource”选择,但是选择“Content”是有效的,其他*.png文件也是如此。由于某种原因,不适用于我的文件以“EmbeddedResource”的形式出现。 谢谢你的建议。

    我的图像不在s中
    <Image Source=“Rsources/myPic.png”/>
    
    <Image Source="pack://siteoforigin:,,,/Images/Toolbars/Legend.png"/>
    
    <Image Source="pack://application:,,,/Resources/Legend.png"/> 
    
    <BitmapImage x:Key="mLegend" UriSource="pack://siteoforigin:,,,/Images/Toolbars/Legend/Legend.png"/>
    
    <Image Source="{StaticResource mLegend}"/>
    
    <Button Content="{StaticResource ButtonImage}"></Button>
    
       System.Windows.Controls.Image mini = new System.Windows.Controls.Image();
                                mini.Source = new BitmapImage(new Uri(@"pack://application:,,,/Cloudnynpos;component/Imageresources/tbl2.png"));
                                btnnew.Content = mini;