这是我的xaml
<Window.Resources>
<DataTemplate x:Key="listBoxTemplate">
<StackPanel Orientation="Horizontal">
<Image Source="{Binding thumb}" Height="100" Width="130" Margin="5"></Image>
<StackPanel Orientation="Vertical" Width="247">
<TextBlock Text="{Binding recipeName}" Height="60" Padding="15" FontSize="16" HorizontalAlignment="Stretch" VerticalAlignment="Center"></TextBlock>
<TextBlock Text="{Binding cuisine}" Height="60" Padding="15" FontSize="16" HorizontalAlignment="Stretch" VerticalAlignment="Center"></TextBlock>
</StackPanel>
</StackPanel>
</DataTemplate>
</Window.Resources>
和我的代码:
conn = new SQLiteConnection(connString);
cmd = new SQLiteCommand();
dtSet = new DataSet();
cmd.Connection = conn;
cmd.CommandType = CommandType.Text;
cmd.CommandText = "SELECT id,recipeName,cuisine,thumb FROM RECIPES";
dataAdapter = new SQLiteDataAdapter();
dataAdapter.SelectCommand = cmd;
try{
dataAdapter.Fill(dtSet,"recipes");
listBox1.DataContext = dtSet;
}
问题是图像没有出现。让我们说从sqlite返回的拇指是图像文件名1.jpg,2.jpg等等。那么我在哪里放置图像使其出现在程序中?在哪个文件夹?
我遇到了WPF Image Source binding with StringFormat和https://stackoverflow.com/questions/3717968/button-image-source-binding-using-string-format-in-wpf的确切问题,答案是我需要制作某种转换器,将图像路径转换为位图源...但是我是一个菜鸟我真的不知道怎么做。
答案 0 :(得分:0)
通常它应该只是应用程序的根文件夹。
如果它不适合您,我建议使用Visual Studio中的工具来确定源字符串应该是什么。转到XAML设计视图,然后查看图像控件的属性。在那里你应该看到source属性旁边的“...”按钮,它允许你选择图像。当我这样做时,它给了我这样的路径:* / MyProject; component / Images / V__6C41.jpg *
答案 1 :(得分:0)
似乎我需要添加一个转换器。请参考我的问题(并回答!)the type imageconverter was not found