C# 显示图像的问题

C# 显示图像的问题,c#,wpf,image,windows-phone-7,xaml,C#,Wpf,Image,Windows Phone 7,Xaml,好的,这是我的问题: 我有一个自定义类,带有一个项目列表,每个项目都有一个与之关联的图像路径 我在项目中添加了一个包含图像的文件夹(所以我想XAP中也添加了图像,是吗?) 当我试图在XAML中绑定图像项的源时,它不起作用 我做错了什么?有什么想法吗 p.S. 我还尝试了Source=“{Binding AlbumArt}”,但它仍然没有显示任何内容 最疯狂的是,如果我将源代码设置为特定的图像(例如/AlbumArt/someImage.jpg),那么该图像在VisualStudi

好的,这是我的问题:

  • 我有一个自定义类,带有一个项目列表,每个项目都有一个与之关联的图像路径
  • 我在项目中添加了一个包含图像的文件夹(所以我想XAP中也添加了图像,是吗?)
  • 当我试图在XAML中绑定图像项的源时,它不起作用



我做错了什么?有什么想法吗


p.S.

  • 我还尝试了
    Source=“{Binding AlbumArt}”
    ,但它仍然没有显示任何内容

  • 最疯狂的是,如果我将源代码设置为特定的图像(例如
    /AlbumArt/someImage.jpg
    ),那么该图像在VisualStudio和Emulator中似乎可以正常工作


    • 我不认为绑定是这样工作的。如果无法将字符串
      “/AlbumArt/”
      预加到图像路径属性(即
      AlbumArt
      )中,我建议使用转换器进行预加


      此外,格式化字符串仅在目标属性为字符串时有效,因此StringFormat不可用。如果我对StringFormat有错误,请有人纠正我。如果您有绑定问题,请始终检查输出窗口以了解详细信息。这就是显示绑定错误信息的地方

      Source=“/AlbumArt/{Binding AlbumArt}”
      将不起作用,因为它将被视为字符串


      在没有看到类的情况下,很难确定绑定到的属性(“AlbumArt”)应该是
      Uri
      而不是
      string
      ,并且应该用图像的相对Uri填充。该图像还应设置为具有内容的构建操作。

      您必须这样做

      <Image Height="100" Width="100" Margin="12,0,9,0" Source="{Binding ImagePath}"/>
      

      如果在item类中实现INotifyPropertyChanged,效果会更好。

      获得更多nesty怎么样

      private string _AlbumArt;
      public string AlbumArt
      {
         get
         {
           return _AlbumArt;
         }
         set
         {
      if(_AlbumArt!=null)
          _AlbumArt=@"/AlbumArt/"+ value;
      
         }
      }
      
      和约束

      <Image Height="100" Width="100" Margin="12,0,9,0" Source="{Binding AlbumArt}"/>
      

      我很确定您使用了错误的路径,试试这个

      “/ApplicationName;组件/AlbumArt/{Binding AlbumArt}”

      当然,用您的应用程序名称替换ApplicationName部分。确保将其中的空格替换为
      %20

      private string _AlbumArt;
      public string AlbumArt
      {
         get
         {
           return _AlbumArt;
         }
         set
         {
      if(_AlbumArt!=null)
          _AlbumArt=@"/AlbumArt/"+ value;
      
         }
      }
      
      <Image Height="100" Width="100" Margin="12,0,9,0" Source="{Binding AlbumArt}"/>