это мой XAMLсвязывания динамического изображения с SQLite в коде
<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, и ответы на них мне нужны, чтобы сделать какой-то конвертер, который преобразует путь изображения в растровый источник .. но, будучи нобом, я действительно не знаю, как сделай это.
ОК, если я уже получил путь, куда я должен положить путь? в коде или xaml? – imin
@imin Я полагаю, вы тоже можете быть, но в XAML кажется лучшим местом. Используйте ** StringFormat **, чтобы связать правильный путь, например {Binding Path = thumb, StringFormat = images/{0}}, если путь: * images/1.jpg * – McGarnagle
hmmm .. я изменил xaml на < Image Source = "{Binding Path = thumb, StringFormat = WpfTest; component/Images/{0}}" Height = "100" Width = "130" Margin = "5">, но он все еще ничего не отображает .. – imin