Выгрузить картинку из БД и вставить ее в Button в WPF
В программе есть кнопка со стилем заданным через ресурсы App.xmal. В БД есть список компаний (Apple, Xiaomi...) с их логотипами, как вытащить от туда картинку и вставить ее в Image кнопки? Вот пример как должно это выглядеть
Ответы (1 шт):
Автор решения: HotNanny
→ Ссылка
По поводу кнопок реализовал через динамическую установку стилей.
Button btn = new Button
{
Style = (Style)FindResource("ButtonProduct"),
Content = img,
};
Изображение в кнопках сделал так: в самой БД не стал хранить изображения, а только ссылки к ним. Ссылки которые я получаю из БД храню в коллекции и перебираю их через цикл.
DataBase dataBase = new DataBase();
List<string> imgUri = new List<string>();
dataBase.ReadImageFromDatabase(imgUri);
for (int i = 0; i < dataBase.QuantityRecord(); i++)
{
System.Windows.Controls.Image img = new System.Windows.Controls.Image
{ Source = new BitmapImage(new Uri(imgUri[i], UriKind.Absolute))
{ CreateOptions = BitmapCreateOptions.IgnoreImageCache } };
Запись значений в коллекцию из БД производится таким методом:
public void ReadImageFromDatabase(List<string> imgUri)
{
using (MySqlCommand command = new MySqlCommand("SELECT * FROM `brand`", GetConection()))
{
OpenConnection();
MySqlDataReader reader = command.ExecuteReader();
if (reader.HasRows)
{
while (reader.Read())
{
imgUri.Add(Convert.ToString(reader.GetValue(2)));
}
}
CloseConnection();
}
}