Поменять Image.Source в WPF

110
21 мая 2021, 09:00

Я делаю приложение с WPF. В форме есть кнопка для запуска exe файла, который меняет фотографию photo.jpg и выводит это фото в image. На данный момент для того, чтобы показывалась последняя фотография, необходимо перезапускать приложение целиком. Можно ли как-то сделать так, чтобы после каждого нажатия показывалась последняя версия photo.jpg. Вот часть кода, которая это делает.

string path = System.IO.Directory.GetCurrentDirectory();
System.Diagnostics.Process p = new System.Diagnostics.Process();
p.StartInfo.FileName = path + @"\emotion_recognition_py\test.exe";
p.Start();
p.WaitForExit();
string command = "move " + path + @"\photo.jpg " + path.Substring(0, path.Length - 10);
System.Diagnostics.Process.Start("cmd.exe", "/C " + command);
image.Source = new BitmapImage(new Uri("photo.jpg", UriKind.RelativeOrAbsolute));
Answer 1

Как оказалось, достаточно было отключить кэширование изображений.

var bi = new BitmapImage();
bi.BeginInit();
bi.CreateOptions = BitmapCreateOptions.IgnoreImageCache;
bi.CacheOption = BitmapCacheOption.OnLoad;
bi.UriSource = new Uri("photo.jpg", UriKind.RelativeOrAbsolute);
bi.EndInit();
image.Source = bi;
READ ALSO
Button ContextMenu Styling in wpf

Button ContextMenu Styling in wpf

Я пытаюсь присвоить стиль для ContextMenu, чтоб было похоже на интерфейс Дискорда

203
Не получается запретить доступ не авторизованным пользователям на страницу

Не получается запретить доступ не авторизованным пользователям на страницу

хочу запретить доступ не авторизованным пользователям на страницу indexphp и если пользователь пишет в адресной строке /index

113
Помогите сформировать массив на php

Помогите сформировать массив на php

Друзья, помогите сформировать массив

103
Как очистить форму при неправильном заполнении?

Как очистить форму при неправильном заполнении?

У меня есть форма заполненияВ первой форме клиент пишет номер счет-фактуры, если оно есть в базе то на второй форме появляется сумма которую...

118