Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/325.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
C# 将图片放入按钮中_C#_Wpf - Fatal编程技术网

C# 将图片放入按钮中

C# 将图片放入按钮中,c#,wpf,C#,Wpf,我是这个论坛和节目的新手。我已经建议开发者社区澄清我的疑问。我很抱歉,因为我的英语不好,所以我不得不使用谷歌翻译,可能文本不完美,而且我缺乏信息。在发布我的消息之前,我一直在搜索我的问题,但我没有找到任何东西 我想把图像放在按钮中,到目前为止,我已经设法做了一个查询,我在一个列表框中显示了你想放在按钮中的图像 var obtenerImagen = (from n in basedeDatos.tablaProductos

我是这个论坛和节目的新手。我已经建议开发者社区澄清我的疑问。我很抱歉,因为我的英语不好,所以我不得不使用谷歌翻译,可能文本不完美,而且我缺乏信息。在发布我的消息之前,我一直在搜索我的问题,但我没有找到任何东西

我想把图像放在按钮中,到目前为止,我已经设法做了一个查询,我在一个列表框中显示了你想放在按钮中的图像

        var obtenerImagen = (from n in basedeDatos.tablaProductos               
                             select n.imagenProducto);                          

        listBox1.ItemsSource = obtenerImagen;
现在我的想法是将查询中的图像放在按钮上

        ImageSourceConverter conversor = new ImageSourceConverter();

        image1.Source = (ImageSource)conversor.ConvertFromString(obtenerImagen);  /**/

        image1 = obtenerImagen.FirstOrDefault();  /**/
这给了我以下错误行:(/**/)

  • 参数1:无法从“System.Linq.IQueryable”转换为“string”
  • 无法将类型“string”隐式转换为“System.Windows.Controls.Image”
  • 与“System.ComponentModel.TypeConverter.ConvertFromString(string)”匹配的最佳重载方法具有一些无效参数

我做错了什么?

这是一段代码,它基本上使用了项目资源中的图像并将其放入按钮中

<Button>
   <Button.Background>
      <ImageBrush ImageSource="/Application;component/Images/Image.png" />
   </Button.Background>
</Button>

您的对象
obtenerImagen
是IQueryable类型的对象

也许你应该使用:

var obtenerImagen = (from n in basedeDatos.tablaProductos               
                             select n.imagenProducto).ToList(); 
然后你有一个字符串列表。现在,您可以通过调用获取第一个元素,例如:

string imageSource = obtenerImagen.FirstOrDefault();

您需要为列表框定义一个项目模板。我将向您展示一个示例:

<ListBox x:Name="listBox1>
    <ListBox.ItemTemplate>
      <DataTemplate>
        <Image Source="{Binding}" />
      </DataTemplate>
    </ListBox.ItemTemplate>
</ListBox>
var obtenerImagen = (from n in basedeDatos.tablaProductos               
                     select n.imagenProducto);                          

listBox1.ItemsSource = obtenerImagen;